-
-
Notifications
You must be signed in to change notification settings - Fork 638
Documentation updates #1709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation updates #1709
Conversation
WalkthroughThis pull request applies numerous cosmetic and editorial updates across the project. It standardizes capitalization (e.g., "Webpack", "RSpec", "Rails"), updates documentation text for clarity, and improves code block formatting. Additionally, type declarations in TypeScript files have been refactored to use the Changes
Possibly related PRs
Poem
Tip ⚡🧪 Multi-step agentic review comment chat (experimental)
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (81)
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md (1)
10-10
: Address Bare URL Usage per Markdown Lint
The static analysis tool flagged this bare URL (MD034) as a style issue. For improved readability and compliance with markdown best practices, consider converting it to a properly formatted link. For example:- https://github.com/shakacode/shakapacker/tree/master/lib/install/bin + [latest bin/shakapacker installer](https://github.com/shakacode/shakapacker/tree/master/lib/install/bin)🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
10-10: Bare URL used
null(MD034, no-bare-urls)
docs/javascript/foreman-issues.md (3)
11-12
: Enhanced Bullet Formatting: Removed Trailing Comma
The removal of the trailing comma at the end of the first bullet point improves consistency and readability in the documentation. This change aligns well with the overall PR objective to enhance clarity.
14-15
: Consistent Punctuation in Bullet Points
Removing the trailing comma in this bullet point contributes to uniformity across similar list items. This subtle adjustment enhances the overall presentation and readability of the document.
15-15
: Typographical Suggestion: Consider Correcting "brake"
The term "brake" in "This may brake bash tools which rely onps
output" appears to be a typo. Consider revising it to "break" to more accurately convey the intended meaning.docs/additional-details/manual-installation-overview.md (1)
25-25
: Compound Adjective Hyphenation SuggestionConsider changing “top level JavaScript files” to “top‐level JavaScript files” to properly hyphenate the compound adjective.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...r Rails installation. 1. Configure your top level JavaScript files for inclusion in your ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/installation-into-an-existing-rails-app.md (1)
40-43
: Clarify the Foreman Installation NoteThe added instruction in step 5 clearly states to have
overmind
orforeman
installed. To further improve readability, please ensure that the URL in the note
[Read more](https://github.com/ddollar/foreman/wiki/Don't-Bundle-Foreman)
is properly encoded (e.g., escaping the apostrophe) so that markdown parsers handle it correctly.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: A comma might be missing here.
Context: ...e:foreman
should be installed on the system not on your project. [Read more](https:...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/misc/tips.md (1)
6-6
: Clear Explanation on Component Exposure
The guidance on exposing a React component or a function that returns one is detailed and informative. However, the phrase “rather than simply props” could be rephrased for improved clarity. Consider specifying the difference between a standard component invocation and the generator function pattern to avoid any ambiguity.docs/javascript/troubleshooting-when-using-shakapacker.md (2)
65-67
: Improve Explanatory Text for Clarity
The newly added text "As it set theoptimization.runtimeChunk
tosingle
. See its source:" provides useful context. However, the phrasing can be improved for tense consistency and clarity. Consider updating it to something like:
"which sets theoptimization.runtimeChunk
tosingle
(see below for the source configuration):"
68-74
: Enhance Consistency in the Configuration Snippet
The inserted configuration snippet clearly reflects the default settings from the source. To further improve readability, consider removing the extra blank line between thesplitChunks
property and theruntimeChunk
property so that the snippet maintains a consistent style. For example:- optimization: { - splitChunks: { chunks: 'all' }, - - runtimeChunk: 'single' - }, + optimization: { + splitChunks: { chunks: 'all' }, + runtimeChunk: 'single' + },docs/javascript/webpack.md (3)
3-4
: Improve the heading phrasing for clarity.
The heading "## Where do I learn about advanced Webpack setups, such as with "CSS Modules", "Code Splitting", etc" could be made more natural. Consider rephrasing to something like:
"## Where can I learn about advanced Webpack setups (e.g., CSS Modules, Code Splitting)?"
This enhances readability and aligns with common phrasing in technical documentation.
5-5
: Fix the missing article for grammatical correctness.
The sentence "You can try out example app, shakacode/react-webpack-rails-tutorial" would read better as "You can try out an example app, shakacode/react-webpack-rails-tutorial" to ensure proper grammar.🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: You might be missing the article “an” here.
Context: ... "Code Splitting", etc You can try out example app, [shakacode/react-webpack-rails-tut...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
25-27
: Consider rephrasing for conventional terminology.
The line "Webpack v4 is heartily recommended." might be even clearer if rephrased to "Webpack v4 is highly recommended" or "strongly recommended." This minor change will align the tone with common technical documentation.docs/javascript/react-and-redux.md (1)
3-7
: Enhanced Section Title and Link FormattingThe updated section header “Communication Between Components” clearly splits the topics and helps readers navigate the document. The revised link now includes a descriptive title, which improves clarity. However, the link text spans two lines, and markdownlint (MD039) warns about spaces inside link text. Consider keeping the link text on a single line to ensure uniform formatting and prevent potential false positives by markdownlint.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
5-5: Spaces inside link text
null(MD039, no-space-in-links)
docs/contributor-info/linters.md (1)
7-7
: Tone Down Exclamation Marks.
The enthusiastic tone conveyed by phrases like "you're seriously missing out!" (line 7) and "Autofixing is a HUGE time saver!" (line 28) may appear overly emphatic. Consider using fewer exclamation marks to maintain a more professional tone in documentation.Also applies to: 28-28
docs/guides/i18n.md (4)
24-27
: Refine Startup Scripts Instructions for Clarity.
The instructions for adjusting startup scripts are now visually clearer. However, the phrasing on line 29 (within this section) could be improved by replacing "if you try to lint" with "if you attempt linting" to satisfy grammatical expectations.
29-34
: Enhance Note on Linting Pre-requisites.
The note effectively warns about potential linting failures if locales are not built. A minor rephrasing to improve grammatical flow (e.g., “if you attempt linting before running tests”) could further enhance readability.🧰 Tools
🪛 LanguageTool
[grammar] ~29-~29: Normally, after “try to” a verb is expected.
Context: ...k process as well. Note: if you try to lint before running tests, and you depend on...(WANT_TO_NN)
44-47
: Standardize Code Block Language Identifier.
For consistency with other Ruby code blocks in this document, consider using "ruby" instead of "rb" as the language identifier in this snippet.
62-81
: Correct Typographical Error in React-intl Initialization.
Within the JavaScript snippet for initializingreact-intl
, the comment contains a typo ("Initizalize" instead of "Initialize"). Correcting this will ensure the documentation remains professional and clear.Suggested change:
- // Initizalize all locales for react-intl. + // Initialize all locales for react-intl.docs/additional-details/generator-details.md (2)
43-44
: Improve clarity in section introduction.
Consider rephrasing the sentence to improve clarity and remove redundant wording. For example, replace "inside of" with "within" and adjust "This encourages for modularity of domains" to "This promotes modularity of domains."Suggested diff:
- The generated client code follows our organization scheme. Each unique set of functionality, is given its own folder inside of `app/javascript/app/bundles`. Note, the recommended for bigger projects is `client/app/bundles`. This encourages for modularity of _domains_. + The generated client code follows our organization scheme. Each unique functionality is placed within `app/javascript/app/bundles`. For larger projects, we recommend using `client/app/bundles` to promote modularity of _domains_.🧰 Tools
🪛 LanguageTool
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ... functionality, is given its own folder inside ofapp/javascript/app/bundles
. Note, the...(OUTSIDE_OF)
48-50
: Refine bullet list punctuation and structure.
The bullet list in this section has inconsistent punctuation. Consider rephrasing each bullet point for improved readability and consistency. For example, remove extraneous punctuation and streamline the descriptions.Suggested diff:
- - `startup`: This contains the entry point files for webpack. It defaults to a single file that is used for server and client compilation, but if these need to be different, then you can create two webpack configurations with separate endpoints. - - `containers`: "smart components" (components that have functionality and logic that is passed to child "dumb components"). - - `components`: includes "dumb components", or components that simply render their properties and call functions given to them as properties by a parent component. Ultimately, at least one of these dumb components will have a parent container component. + - `startup`: Contains the entry point files for webpack. It defaults to a single file for both server and client compilation; if different configurations are needed, separate webpack setups can be created. + - `containers`: Contains smart components that manage functionality and pass logic to child components. + - `components`: Contains dumb components that render properties and invoke functions provided by parent components. At least one dumb component should be nested within a parent container.🧰 Tools
🪛 LanguageTool
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: -startup
: This contains the entry point files for...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ... with separate endpoints. -containers
: "smart components" (components that hav...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). -components
: includes "dumb components", or componen...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/rails-webpacker-react-integration-options.md (1)
152-157
: Consistent Command & Configuration Snippets:
The shell command snippet for adding thereact-hot-loader
packages is clearly formatted. In the subsequent babel configuration snippet, consider adding the article “the” before “plugin” (i.e. "with the option 'safetyNet': false") to improve grammatical accuracy.🧰 Tools
🪛 LanguageTool
[uncategorized] ~157-~157: You might be missing the article “the” here.
Context: ...pluginreact-hot-loader/babel
with option"safetyNet": false
: ``` { "plugi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/render-functions-and-railscontext.md (4)
28-28
: Added Extra Newline for ClarityThe insertion of a newline here helps visually separate the function signature from its accompanying comments, contributing to overall readability.
132-133
: Adjusted JSX Element SpacingThe spacing in the JSX snippet—especially between the locale display and the greeting—is now more deliberate, which improves readability. Please ensure the indent level is consistent with neighbouring code examples.
137-137
: Check for Extra Closing BraceThere appears to be an extra closing brace (
};
) at the end of the HelloWorld component example. Please verify whether this is intentional or should be removed to prevent confusion for readers.If this extra brace is unintentional, consider removing it for improved clarity.
42-42
: Minor Grammar Correction SuggestionThe sentence in the alternate API note could be improved by inserting the article “an” for grammatical correctness.
-_This would be alternate API where you have to call React.createElement and the React on Rails code doesn't do that._ +_This would be an alternate API where you have to call React.createElement and the React on Rails code doesn't do that._🧰 Tools
🪛 LanguageTool
[uncategorized] ~42-~42: You might be missing the article “an” here.
Context: ...yAppComponent; ``` --- _This would be alternate API where you have to call React.create...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
KUDOS.md (4)
49-50
: Consider Revising Informal LanguageThe testimonial on February 24, 2017 uses the word “awesome,” which might be too informal for a professional document. Consider using a more polished alternative (e.g., “outstanding” or “exceptional”). Also, ensure that "React" is consistently capitalized throughout.
🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ators are great and the community is so awesome and welcoming. In fact, I love it so mu...(AWESOME)
[grammar] ~49-~49: “React” is a proper noun and needs to be capitalized.
Context: ...Rails](https://goo.gl/uzu36X) using the react_on_rails gem!" 
).🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
70-70: Bare URL used
null(MD034, no-bare-urls)
106-106
: Format Bare URL as a Markdown LinkSimilarly, the bare URL on line 106 would be clearer if formatted as a Markdown link to conform with best practices.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
106-106: Bare URL used
null(MD034, no-bare-urls)
102-102
: Review Punctuation for Professional ToneThe exclamation mark in the quote at line 102 adds energy but might come off as overly informal given the document’s scope. Consider if a toned-down punctuation is more appropriate for a professional tone.
🧰 Tools
🪛 LanguageTool
[style] ~102-~102: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1997 characters long)
Context: ...ls gems to manage front end dependencies! React on Rails provides webpack integra...(EN_EXCESSIVE_EXCLAMATION)
docs/rails/turbolinks.md (10)
11-13
: Turbo Configuration Highlight:
The snippetReactOnRails.setOptions({ turbo: true })
clearly demonstrates how to enable Turbo. For added clarity, consider a brief inline comment explaining what this option changes (if appropriate for the target audience).🧰 Tools
🪛 LanguageTool
[typographical] ~11-~11: It seems that a comma is missing.
Context: ... obsolete. # Using Turbo To configure Turbo the following option can be set: `React...(IN_ORDER_TO_VB_COMMA)
16-16
: Reminder on TODO:
A TODO note ("TODO: Walk through code changes in PR 1620.") remains in the documentation. Consider updating or removing this note once the walkthrough is complete to ensure the final document is polished.
20-22
: Legacy Section Improvement:
The reworded note now states that "the below docs may be outdated" and advises upgrading to Turbo or removing old Turbolinks. For even better readability, consider changing "The below docs may be outdated." to "The following docs may be outdated."
27-29
: Performance Benefit Explanation:
The explanation on how Turbolinks improves performance by only reloading HTML is clear. Splitting the long second sentence into two shorter sentences could further enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
41-46
: Detailing CSRF and Request Handling:
This section offers in-depth context on CSRF token handling and Turbolinks5 request headers. Consider breaking the lengthy sentence in the first bullet (line 43) into two for clarity. Additionally, the phrase in line 44—"which is skipped by when Rails sees"—could be rephrased to "which is skipped when Rails sees*/*
" for improved clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: You might be missing the article “the” here.
Context: ...he head element by JavaScript (not only body) on page changes with the correct csrf ...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~43-~43: A comma might be missing here.
Context: ...e caused by app code, not library code. Anyway it may need additional checking because...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
79-83
: Async Script Loading Intro:
The introductory text on asynchronous script loading is succinct. To further polish the text, consider adding a comma after the introductory phrase for smoother reading.🧰 Tools
🪛 LanguageTool
[uncategorized] ~80-~80: A comma might be missing here.
Context: ...start(); ``` ### async script loading Generally async script loading can be done like: ...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
95-102
: Component Registration Clarification:
The note about potential issues with component registration when scripts load asynchronously is valuable. Consider removing the comma after "experience" to read "you may experience that your components are not registered correctly."🧰 Tools
🪛 LanguageTool
[typographical] ~95-~95: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...cripts asynchronously you may experience, that your Components are not registered corr...(COMMA_THAT_NOUN)
🪛 markdownlint-cli2 (0.17.2)
97-97: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
131-139
: Console Message Examples (Turbolinks Classic):
The provided console output example for Turbolinks Classic clearly illustrates the expected behavior. For consistency in code block formatting, consider adding a language identifier (e.g., ```plaintext) to this fenced code block.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
137-137: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
140-146
: Console Message Examples (Turbolinks 5):
The example console output for Turbolinks 5 is clear and informative. As with the previous code block, adding a language identifier would improve consistency.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
144-144: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
147-151
: Recommendation for jQuery Usage:
The note advising against the Ruby gem version of jQuery and jQuery ujs is helpful. Inserting a comma after "Therefore" (i.e., "Therefore, we recommend...") would improve the readability of the sentence.🧰 Tools
🪛 LanguageTool
[uncategorized] ~149-~149: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...y gem version of jQuery and jQuery ujs. Therefore we recommend using the node packages in...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/javascript/server-rendering-tips.md (4)
10-13
: Consistent Compound Adjective FormattingThe bullet discusses avoiding code that references
document
. Consider updating "client and server side code" to "client-side and server-side code" for consistency with similar terminology found elsewhere in the document.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...the view helper applies to client and server side code, the best way to do this is to use...(EN_COMPOUND_ADJECTIVE_INTERNAL)
14-14
: Clarify Entry Point InstructionsThe updated instructions for having separate entry points for client-side and server-side rendering are much clearer. To further improve readability, you might hyphenate phrases like "top level client or server side" to "top-level client- or server-side".
🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...int is that you have separate files for top level client or server side, and you pass som...(EN_COMPOUND_ADJECTIVE_INTERNAL)
19-20
: Clear Troubleshooting StepsThe troubleshooting steps are now concise. Note that on line 20, the phrase "used to setup the JavaScript context" should use the verb form "set up" instead of "setup" to align with proper usage.
🧰 Tools
🪛 LanguageTool
[grammar] ~20-~20: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...ou will also get the whole file used to setup the JavaScript context. ## CSS Server...(NOUN_VERB_CONFUSION)
28-30
: Minor Punctuation Improvement in Timeout ExampleIn the sentence "Here's an example of this which shows the line numbers that end up calling
setTimeout
:", consider inserting a comma after "this" to aid readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~30-~30: Possible missing comma found.
Context: ...allsetTimeout
. Here's an example of this which shows the line numbers that end u...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/react-router.md (1)
40-40
: Refine Compound Adjective in Bundle DescriptionFor better consistency, consider hyphenating "server side bundle" to "server-side bundle" on line 40.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...dering** and should be only used in the server side bundle. From the [original example in ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
.scss-lint.yml (2)
17-20
: Active but Disabled "ColorKeyword" and "ColorVariable" linters.
Unlike many other rules that are fully commented out, these two remain active but are explicitly set toenabled: false
. For consistency and improved readability, consider whether these should follow the same pattern as the other disabled rules.
81-206
: Consolidated review on remaining commented-out linters.
From "MergeableSelector" through "Compass::*", the remaining linter configurations have been completely commented out. This broad disabling helps reduce clutter in lint reports and makes the configuration file easier to read. One consideration: if these rules are no longer anticipated to be used, you might eventually remove them entirely; otherwise, keeping them as commented references is acceptable.docs/additional-details/updating-dependencies.md (1)
27-28
: Header Formatting Improvement
The header for the node_modules cleanup step has been adjusted. For enhanced consistency and clarity, consider capitalizing the heading (for example, change to "### Remove Old Installednode_modules
[...]").docs/contributor-info/generator-testing.md (1)
8-9
: Improved Section Introduction & Punctuation Suggestion
The spacing before the "## Travis and Gemfiles" section helps delineate the content better. Additionally, in the sentence "If you generate an app that has a new gem dependency in its Gemfile, you need to add that dependency to the main Gemfile or it will not work in CI," consider inserting a comma before “or” to enhance clarity. For example:- ...main Gemfile or it will not work in CI. + ...main Gemfile, or it will not work in CI.🧰 Tools
🪛 LanguageTool
[uncategorized] ~9-~9: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... add that dependency to the main Gemfile or it will not work in CI. ## Configuring...(COMMA_COMPOUND_SENTENCE)
docs/testimonials/resortpass.md (1)
3-3
: Enhance Wording for Greater Impact.
The updated testimonial text is detailed and engaging. As a nitpick, consider using a stronger or alternative adjective in place of “sophisticated” (for example, “profound” or “exceptional”) to further emphasize the quality of the code. This is optional and based on the desired tone.🧰 Tools
🪛 LanguageTool
[style] ~3-~3: Consider an alternative adjective to strengthen your wording.
Context: ...ted code that both works and reflects a deep understanding of the technologies and p...(DEEP_PROFOUND)
[grammar] ~3-~3: “React” is a proper noun and needs to be capitalized.
Context: ...s and standards for our transition to a react on rails application. Just three months...(A_GOOGLE)
docs/outdated/rails3.md (1)
3-5
: Streamline Formatting for Better Presentation.
The removal of asterisks from the beginning of the informational lines provides a cleaner, less cluttered look. As a minor suggestion, consider revising the verbs used in these lines (for instance, using “report” instead of “let us know” or “confirm” instead of “is confirmed to work”) to further strengthen the tone.🧰 Tools
🪛 LanguageTool
[style] ~3-~3: Consider using a different verb to strengthen your wording.
Context: # Rails 3 - Please let us know if you find any issues with Rails 3. - Rails 3 is c...(FIND_ENCOUNTER)
[style] ~5-~5: Consider using a different verb to strengthen your wording.
Context: ...not testing it for new releases. If you find an issue, you will have to submit a PR ...(FIND_ENCOUNTER)
docs/guides/webpack-configuration.md (1)
41-42
: Refined URL List FormattingThe switch from asterisks to hyphens for the bullet list of URL references standardizes the presentation. To fully satisfy markdown linting (MD034), consider wrapping these bare URLs in angle brackets or using the standard markdown link format.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
41-41: Bare URL used
null(MD034, no-bare-urls)
42-42: Bare URL used
null(MD034, no-bare-urls)
docs/guides/minitest-configuration.md (1)
1-29
: Overall Readability EnhancementThe removal of unnecessary blank lines and spacing adjustments throughout the document help to reduce visual clutter and improve the guide’s clarity.
docs/javascript/webpack-v1-notes.md (1)
7-7
: Tone & Punctuation Refinement in --bail Option DescriptionThe updated sentence (line 7) now omits the exclamation mark, adopting a more neutral tone. Additionally, consider inserting a comma before “and” in the clause to separate independent ideas more clearly.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... Webpack returning a non-zero error code and you want to see all the errors, rather ...(COMMA_COMPOUND_SENTENCE)
docs/javascript/capistrano-deployment.md (1)
2-3
: Clarify Instructional Text with a Minor Grammar Note.
The sentence, “Make sure ReactOnRails is working in development environment,” might be even clearer if rephrased to “Make sure the ReactOnRails is working in the development environment.” This small tweak can further enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...t Make sure ReactOnRails is working in development environment. Add the following to deve...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Punctuation Improvement for Enhanced Clarity.
In the sentence “This script installsyarn
and all JS dependencies before Rails runsassets:precompile
. Also, it creates/home/webapp
directory allowing the precompile task to create temp files,” consider adding a comma after “/home/webapp
directory” (i.e. “…directory, allowing…”) to improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: Possible missing comma found.
Context: ...mpile. Also, it creates
/home/webapp` directory allowing the precompile task to create ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/troubleshooting-when-using-webpacker.md (1)
9-10
: Fenced Code Block Language Identifier Suggestion.
To allow proper syntax highlighting and consistency, consider specifying a language for the fenced code blocks (for example, use “```ruby” if the block contains Ruby code).🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
10-10: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
docs/rails/rails-engine-integration.md (1)
35-38
: Improve Issue Reference Wording
The GitHub issues list is now more visible; however, note that in the second bullet, the phrase “target destination option for the install generator” uses “install” as a noun. Consider rephrasing it to “…target destination option for the installation generator” for clearer language.🧰 Tools
🪛 LanguageTool
[grammar] ~36-~36: The word ‘install’ is not a noun.
Context: ...ture: target destination option for the install generator #459](https://github.com/shak...(A_INSTALL)
.github/workflows/rspec-package-specs.yml (1)
43-43
: Bundler Command Formatting Caution
In the “Install Ruby Gems for package” step, the commandbundle check --path=vendor/bundle || bundle _2.5.9_ install --path=vendor/bundle --jobs=4 --retry=3
appears to use underscores around “2.5.9”. Please verify that this syntax renders as intended in the shell; otherwise, consider removing the underscores for clarity.
docs/guides/file-system-based-automated-bundle-generation.md (1)
20-21
: Detailed Components Subdirectory Description
The newly added description forcomponents_subdirectory
explains its purpose well. One minor note: there appears to be an extraneous “·” at the end of the sentence on line 22; removing it would streamline the text further.docs/getting-started.md (1)
98-98
: Minor Wording Suggestion for Component Exposure
The sentence “Exposing your component in this way is how React on Rails is able to reference your component from a Rails view…” is clear; however, consider rephrasing “is able to” to “can” for brevity and clarity. For example: “Exposing your component in this way is how React on Rails can reference it from a Rails view…”🧰 Tools
🪛 LanguageTool
[style] ~98-~98: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...onent in this way is how React on Rails is able to reference your component from a Rails v...(BE_ABLE_TO)
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...(A_GOOGLE)
docs/guides/tutorial.md (1)
22-24
: Direct Source Code Reference
The revised bullet points for linking to source code and live examples contribute to a clearer guide. A minor suggestion: wrapping bare URLs in<
and>
could further improve markdown compliance.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
22-22: Bare URL used
null(MD034, no-bare-urls)
23-23: Bare URL used
null(MD034, no-bare-urls)
docs/outdated/rails-assets.md (1)
37-39
: Deprecated Solution Clarification
The note on lines 37–39 about the removed symlink solution (now deprecated in v14) is helpful. Consider capitalizing “GitHub” if mentioned in future updates for consistency.docs/misc/style.md (2)
29-31
: Concise Git Standards Pointer
The Git coding standards section is brief and to the point. A minor suggestion: consider revising “branch off of master” to “branch off master” to simplify the phrasing.
38-41
: Enhanced Git Usage Guidelines
The Git Usage section is now more detailed. Again, as noted before, shortening “branch off of master” to “branch off master” can further enhance readability.🧰 Tools
🪛 LanguageTool
[style] ~39-~39: ‘off of’ might be wordy. Consider a shorter alternative.
Context: ...ow a github-flow model where you branch off of master for features. - Before merging a...(EN_WORDINESS_PREMIUM_OFF_OF)
[uncategorized] ~40-~40: Possible missing comma found.
Context: ...icate with anybody else working on this branch and do not do this when others have unc...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (3)
47-47
: Minor Punctuation Suggestion
In the line “To enable HMR functionality you have to use./bin/shakapacker-dev-server
” (line 47), consider adding a comma after the introductory clause for smoother reading.🧰 Tools
🪛 LanguageTool
[uncategorized] ~47-~47: Possible missing comma found.
Context: ...n ## Basic installation To enable HMR functionality you have to use `./bin/shakapacker-dev-...(AI_HYDRA_LEO_MISSING_COMMA)
85-85
: Minor Grammatical Improvements in Plugin Explanation
On line 85, consider revising to:
“We added theoverlay.sockPort
option inReactRefreshWebpackPlugin
to match the webpack dev-server port specified inconfig/shakapacker.yml
, ensuring that sockjs works properly and suppressing errors such as 'GET http://localhost:[port]/sockjs-node/info?t=[...] 404 (Not Found)'.”
This adjustment refines the explanation and improves grammatical consistency.🧰 Tools
🪛 LanguageTool
[uncategorized] ~85-~85: You might be missing the article “the” here.
Context: ... }), ); } ``` We addedoverlay.sockPort
option in `ReactRefres...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~85-~85: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...akapacker.yml`. That way we make sockjs works properly and suppress error in browser ...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
97-102
: Clarification of Plugin Behavior Summary
The concluding instructions (lines 97–102) offer a good summary. However, rephrasing to “If, for some reason, the plugin doesn’t work, you could revert the changes and leave only the devServer hmr/inline settings to true (affecting only CSS files)” would enhance clarity and address minor punctuation and repetition concerns.🧰 Tools
🪛 LanguageTool
[uncategorized] ~100-~100: A comma might be missing here.
Context: ...ding. If by some reason plugin doesn't work you could revert changes and left only ...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~100-~100: This adverb was used twice in the sentence. Consider removing one of them or replacing them with a synonym.
Context: ... devServer hmr/inline to true affecting only css files. These plugins are working a...(ADVERB_REPETITION_PREMIUM)
docs/misc/doctrine.md (4)
25-29
: Consistent List Formatting & Minor Language Suggestions
The new bullet list under “Convention over Configuration” is clear and well‐formatted. A few minor language details:
- Consider whether “hard work” should be written as two words (the current phrasing is common, though the static hint suggests a one‐word variant if intended as a noun—but “hard work” is standard in this context).
- In “figure out how to splice it all together”, if you meant “altogether” (as per the LanguageTool note), consider rephrasing for clarity.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...(ALTOGETHER)
57-59
: Hyphenation of Compound Adjectives
In the “No One Paradigm” section (line 59), consider hyphenating “client side” to “client-side” for accuracy. Similarly, ensure that compound adjectives such as “React driven” in later lines (e.g., line 71) are hyphenated as “React-driven”.🧰 Tools
🪛 LanguageTool
[uncategorized] ~59-~59: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... from the perspective that it rocks for client side development with Rails, even though it'...(EN_COMPOUND_ADJECTIVE_INTERNAL)
65-67
: Conciseness in Descriptions
Under “Value Integrated Systems” (lines 67–68), the phrase “with lots of business rules” might be more concise if rephrased (for example, “with numerous business rules”). This minor tweak can further polish the readability without altering meaning.🧰 Tools
🪛 LanguageTool
[style] ~67-~67: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...for Rails (document/database based with lots of business rules), the tight integration ...(A_LOT_OF)
[uncategorized] ~67-~67: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on Rails is better than building a pure client side app and separate microservices. Here's ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
70-71
: Hyphenate “React driven”
In the bullet point at line 71, please consider using “React-driven” to conform with common compound adjective style.🧰 Tools
🪛 LanguageTool
[uncategorized] ~71-~71: The adjective “React-driven” is spelled with a hyphen.
Context: ...ws mixing and matching Rails pages with React driven pages, even on the same page. Not every...(DRIVEN_HYPHEN)
docs/additional-details/recommended-project-structure.md (3)
5-13
: Specify Language on Fenced Code Block
The code block showing the directory tree (lines 5–13) currently does not specify a language. For improved markdown linting and clarity, add an appropriate language tag (for example, “yaml” or “
bash” if preferred).Proposed change:
-``` +```yaml app/javascript: ├── bundles: │ # Logical groups of files that can be used for code splitting │ └── hello-world-bundle.js ├── packs: │ # only webpack entry files here │ └── hello-world-bundle.js -``` +```🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
5-5: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
38-42
: Add Language to Code Block for Package Script
The fenced code block (lines 38–42) showing the JSON snippet for the/package.json
delegation does not have a language tag. It is best to specify one (e.g. “```json”) for consistency.Proposed change:
-``` - "scripts": { - "heroku-postbuild": "cd ./client && yarn" - }, -``` +```json { "scripts": { "heroku-postbuild": "cd ./client && yarn" } }🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
38-38: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
47-51
: Clarity and Code Block Annotation in Discussion Section
The changes in the “CSS, Sass, Fonts, and Images” section (lines 47–51) are clear. As a minor suggestion, consider rephrasing “Or stick with the plain Rails asset pipeline. It depends!” to avoid the short interrogative feel—for example, “Alternatively, you may continue using the Rails asset pipeline; the choice depends on your project's needs.”🧰 Tools
🪛 LanguageTool
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline. It depends! Here's a good discussion of this option: [Why does Ra...(GOOD_CONSTRUCTIVE)
README.md (1)
95-102
: Consistent Unordered List Markers in Support Section
Some list items (lines 95–102) use asterisks. Markdown style guidelines generally prefer the dash (“-”) for unordered lists. Converting these list markers to dashes would ensure consistency throughout the document.Proposed change diff:
-* [**Subscribe**](https://app.mailerlite.com/webforms/landing/l1d9x5) for announcements... -* [Discussions](https://github.com/shakacode/react_on_rails/discussions): Post your questions... -* **[forum.shakacode.com](https://forum.shakacode.com)**: Other discussions -* **[@railsonmaui on Twitter](https://twitter.com/railsonmaui)** -* _See [NEWS.md](https://github.com/shakacode/react_on_rails/tree/master/NEWS.md) for more notes...+- [**Subscribe**](https://app.mailerlite.com/webforms/landing/l1d9x5) for announcements... +- [Discussions](https://github.com/shakacode/react_on_rails/discussions): Post your questions... +- **[forum.shakacode.com](https://forum.shakacode.com)**: Other discussions +- **[@railsonmaui on Twitter](https://twitter.com/railsonmaui)** +- _See [NEWS.md](https://github.com/shakacode/react_on_rails/tree/master/NEWS.md) for more notes...🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
97-97: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
98-98: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
99-99: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
100-100: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
101-101: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
102-102: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
NEWS.md (2)
49-50
: Review Verb Choice for Clarity
A static hint recommends considering an alternative verb on line 49 (e.g. “let us know if you see any issues”) for strength and conciseness. A review of the tone here might further enhance the professional style.🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Consider an alternative verb to strengthen your wording.
Context: ...md) for details, and let us know if you see any issues! [Migration steps from 1.x](...(IF_YOU_HAVE_THIS_PROBLEM)
60-61
: Capitalization and Exclamation Mark Usage
Ensure that “React” is consistently capitalized and consider toning down the use of exclamation marks if they come across as excessive. This will help maintain a formal and professional tone throughout the NEWS document.🧰 Tools
🪛 LanguageTool
[grammar] ~60-~60: “React” is a proper noun and needs to be capitalized.
Context: ...._ If you did generate a fresh app from react_on_rails and want to move to CSS Module...(A_GOOGLE)
[style] ~60-~60: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 8677 characters long)
Context: ...information. Ping us if you want to help! - ShakaCode...(EN_EXCESSIVE_EXCLAMATION)
.prettierignore (1)
13-14
: Broadened Ignore Pattern for Generated FilesThe change from
**/generated/**
to**/*generated*
(line 13) broadens the scope for ignored files. While this improves consistency by catching any filenames containing "generated," please verify that it does not inadvertently ignore files that should be processed.PROJECTS.md (1)
14-37
: Consistent and Improved Bullet List FormattingThe reformatting of the bullet lists for commercial products, open source projects, and demos (lines 14–37) greatly enhances readability.
A few minor nitpicks from static analysis:
- Consider verifying the use of articles (e.g., “a Canadian shopping site” instead of “Canadian shopping site”).
- Review compound adjectives such as “multi-lingual” (typically rendered as “multilingual”) and hyphenate where appropriate for clarity.
These are minor issues, but addressing them would further polish the document.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~15-~15: You might be missing the article “a” here.
Context: ...eals](https://www.redflagdeals.com/)**, Canadian shopping site. - **[YourMechanic](https...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~22-~22: You might be missing the article “a” here.
Context: ...](https://www.kisskissbankbank.com/)**, large French crowdfunding platform. - **[HVMN...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~29-~29: This word is normally spelled as one.
Context: ...has gone live with React on Rails, with multi-lingual JavaScript support! ![2016-05-03_19-1...(EN_COMPOUNDS_MULTI_LINGUAL)
docs/guides/how-react-on-rails-works.md (1)
5-5
: Emphasis Style Consistency
The text now uses underscores for emphasis (e.g. recommended), but markdownlint (MD049) expects asterisks for consistency. Consider switching to asterisks (e.g. recommended) to align with the style guidelines.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
5-5: Emphasis style
Expected: asterisk; Actual: underscore(MD049, emphasis-style)
5-5: Emphasis style
Expected: asterisk; Actual: underscore(MD049, emphasis-style)
docs/guides/client-vs-server-rendering.md (1)
25-25
: Consider adding a hyphen in "server-side entry file".The term "server side" is being used as a compound adjective modifying "entry file" and should include a hyphen for grammatical correctness.
-Another way is to use a separate webpack configuration file that can use a different server side entry file, like 'serverRegistration.js' as opposed to 'clientRegistration.js.' That would set up different code for server rendering. +Another way is to use a separate webpack configuration file that can use a different server-side entry file, like 'serverRegistration.js' as opposed to 'clientRegistration.js.' That would set up different code for server rendering.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...(EN_COMPOUND_ADJECTIVE_INTERNAL)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
Gemfile.lock
is excluded by!**/*.lock
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
📒 Files selected for processing (107)
.eslintrc
(0 hunks).github/ISSUE_TEMPLATE/bug_report.md
(0 hunks).github/ISSUE_TEMPLATE/feature_request.md
(0 hunks).github/PULL_REQUEST_TEMPLATE.md
(1 hunks).github/workflows/examples.yml
(2 hunks).github/workflows/lint-js-and-ruby.yml
(1 hunks).github/workflows/main.yml
(2 hunks).github/workflows/package-js-tests.yml
(1 hunks).github/workflows/rspec-package-specs.yml
(1 hunks).prettierignore
(1 hunks).prettierrc
(1 hunks).scss-lint.yml
(1 hunks)CHANGELOG.md
(19 hunks)CONTRIBUTING.md
(11 hunks)KUDOS.md
(1 hunks)NEWS.md
(1 hunks)PROJECTS.md
(1 hunks)README.md
(4 hunks)SUMMARY.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/migrating-from-react-rails.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(2 hunks)docs/additional-details/tips-for-usage-with-sp6.md
(1 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/javascript-api.md
(2 hunks)docs/api/redux-store-api.md
(4 hunks)docs/api/view-helpers-api.md
(8 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(2 hunks)docs/contributor-info/releasing.md
(1 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/deployment/heroku-deployment.md
(1 hunks)docs/getting-started.md
(8 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/configuration.md
(4 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(5 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(1 hunks)docs/guides/how-react-on-rails-works.md
(2 hunks)docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
(3 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/installation-into-an-existing-rails-app.md
(2 hunks)docs/guides/minitest-configuration.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(7 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/react-server-rendering.md
(2 hunks)docs/guides/render-functions-and-railscontext.md
(6 hunks)docs/guides/rspec-configuration.md
(4 hunks)docs/guides/streaming-server-rendering.md
(4 hunks)docs/guides/tutorial.md
(12 hunks)docs/guides/upgrading-react-on-rails.md
(13 hunks)docs/guides/webpack-configuration.md
(2 hunks)docs/home.md
(2 hunks)docs/javascript/angular-js-integration-migration.md
(2 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(5 hunks)docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
(1 hunks)docs/javascript/credits.md
(0 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/images.md
(0 hunks)docs/javascript/node-dependencies-and-npm.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(6 hunks)docs/javascript/react-router.md
(3 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack-v1-notes.md
(1 hunks)docs/javascript/webpack.md
(2 hunks)docs/misc/articles.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(1 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/deferred-rendering.md
(2 hunks)docs/outdated/rails-assets-relative-paths.md
(8 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/rails3.md
(1 hunks)docs/rails/rails-engine-integration.md
(2 hunks)docs/rails/rails_view_rendering_from_inline_javascript.md
(2 hunks)docs/rails/turbolinks.md
(3 hunks)docs/release-notes/15.0.0.md
(3 hunks)docs/testimonials/resortpass.md
(1 hunks)docs/testimonials/testimonials.md
(1 hunks)knip.ts
(1 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/.eslintrc
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css
(1 hunks)lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/CallbackRegistry.ts
(4 hunks)node_package/src/ClientSideRenderer.ts
(10 hunks)node_package/src/ComponentRegistry.ts
(2 hunks)node_package/src/RSCClientRoot.ts
(5 hunks)node_package/src/ReactOnRails.client.ts
(7 hunks)node_package/src/ReactOnRails.full.ts
(2 hunks)node_package/src/ReactOnRailsRSC.ts
(2 hunks)node_package/src/StoreRegistry.ts
(2 hunks)node_package/src/buildConsoleReplay.ts
(2 hunks)node_package/src/clientStartup.ts
(1 hunks)node_package/src/context.ts
(2 hunks)node_package/src/createReactOutput.ts
(3 hunks)node_package/src/handleError.ts
(2 hunks)node_package/src/isRenderFunction.ts
(1 hunks)node_package/src/isServerRenderResult.ts
(1 hunks)
⛔ Files not processed due to max files limit (31)
- node_package/src/pageLifecycle.ts
- node_package/src/reactApis.ts
- node_package/src/reactHydrateOrRender.ts
- node_package/src/registerServerComponent/client.ts
- node_package/src/registerServerComponent/server.ts
- node_package/src/serverRenderReactComponent.ts
- node_package/src/serverRenderUtils.ts
- node_package/src/streamServerRenderedReactComponent.ts
- node_package/src/transformRSCStreamAndReplayConsoleLogs.ts
- node_package/src/turbolinksUtils.ts
- node_package/src/types/index.ts
- node_package/src/utils.ts
- package-scripts.yml
- package.json
- rakelib/examples_config.yml
- spec/dummy/.prettierignore
- spec/dummy/.prettierrc
- spec/dummy/Procfile.dev-static
- spec/dummy/README.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- spec/dummy/app/assets/stylesheets/application_non_webpack.scss
- spec/dummy/client/.jscsrc
- spec/dummy/client/README.md
- spec/dummy/client/app/components/CssModulesImagesFontsExample.module.scss
- spec/dummy/client/app/components/ImageExample/ImageExample.module.scss
- spec/dummy/client/app/startup/RouterApp.server.jsx
- spec/dummy/config/locales/en.yml
- spec/dummy/config/shakapacker.yml
- spec/dummy/config/storage.yml
- spec/react_on_rails/fixtures/i18n/locales/de.yml
- spec/react_on_rails/fixtures/i18n/locales/en.yml
💤 Files with no reviewable changes (5)
- docs/javascript/credits.md
- .github/ISSUE_TEMPLATE/bug_report.md
- docs/javascript/images.md
- .eslintrc
- .github/ISSUE_TEMPLATE/feature_request.md
🧰 Additional context used
🪛 LanguageTool
docs/testimonials/resortpass.md
[style] ~3-~3: Consider an alternative adjective to strengthen your wording.
Context: ...ted code that both works and reflects a deep understanding of the technologies and p...
(DEEP_PROFOUND)
[grammar] ~3-~3: “React” is a proper noun and needs to be capitalized.
Context: ...s and standards for our transition to a react on rails application. Just three months...
(A_GOOGLE)
docs/javascript/capistrano-deployment.md
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...t Make sure ReactOnRails is working in development environment. Add the following to deve...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/outdated/rails3.md
[style] ~3-~3: Consider using a different verb to strengthen your wording.
Context: # Rails 3 - Please let us know if you find any issues with Rails 3. - Rails 3 is c...
(FIND_ENCOUNTER)
[style] ~5-~5: Consider using a different verb to strengthen your wording.
Context: ...not testing it for new releases. If you find an issue, you will have to submit a PR ...
(FIND_ENCOUNTER)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a react-rou...
(AI_HYDRA_LEO_MISSING_COMMA)
CONTRIBUTING.md
[uncategorized] ~22-~22: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...E/editor to ignore certain directories. Otherwise your IDE might slow to a crawl! - /cov...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
[style] ~81-~81: Consider shortening or rephrasing this to strengthen your wording.
Context: ...eact-on-rails ``` The workflow is: 1. Make changes to the node package. 2. We need yalc to pu...
(MAKE_CHANGES)
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~205-~205: A comma might be missing here.
Context: .... ### Install Generator In your Rails app add this gem with a path to your fork. ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[grammar] ~237-~237: The word ‘lint’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...changes via the lint container. You can lint locally by running `npm run lint && npm...
(PRP_MD_NN)
[grammar] ~242-~242: The word ‘install’ is not a noun.
Context: ...he initial build is slow, but after the install, startup is very quick. ### Linting Co...
(A_INSTALL)
[style] ~242-~242: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...slow, but after the install, startup is very quick. ### Linting Commands Run rake lint
...
(EN_WEAK_ADJECTIVE)
docs/outdated/rails-assets.md
[uncategorized] ~8-~8: Did you mean: “By default,”?
Context: ...e other term for this is a "digest". > By default the filename of the resulting file is t...
(BY_DEFAULT_COMMA)
docs/guides/tutorial.md
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...t-react-on-rails ``` Note: You can use --database=postgresql
option to use Pos...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~368-~368: A comma might be missing here.
Context: ...ample, to be able to run on free Cloud9 IDE we are putting IP 0.0.0.0 and PORT 8080...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/rails/rails-engine-integration.md
[grammar] ~36-~36: The word ‘install’ is not a noun.
Context: ...ture: target destination option for the install generator #459](https://github.com/shak...
(A_INSTALL)
docs/javascript/webpack-v1-notes.md
[uncategorized] ~7-~7: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... Webpack returning a non-zero error code and you want to see all the errors, rather ...
(COMMA_COMPOUND_SENTENCE)
docs/javascript/react-helmet.md
[style] ~10-~10: Consider a shorter alternative to avoid wordiness.
Context: ...## Example Here is what you need to do in order to configure your Rails application to wor...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~36-~36: Possible missing comma found.
Context: .....props} />; ``` Or a render-function. Note you can't return just the JSX (React el...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~92-~92: You might be missing the article “an” here.
Context: ...gument it will return a hash instead of HTML string. Note, there is no need to speci...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/misc/style.md
[uncategorized] ~9-~9: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...n. - Anything additional goes next. ## Client Side JavaScript and React - See the [Shakac...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~39-~39: ‘off of’ might be wordy. Consider a shorter alternative.
Context: ...ow a github-flow model where you branch off of master for features. - Before merging a...
(EN_WORDINESS_PREMIUM_OFF_OF)
[uncategorized] ~40-~40: Possible missing comma found.
Context: ...icate with anybody else working on this branch and do not do this when others have unc...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/contributor-info/generator-testing.md
[style] ~3-~3: This phrase is redundant. Consider writing “various” or “different”.
Context: ...act_on_rails/install_generator.rb) with various different options. We can then run tests with the...
(VARIOUS_DIFFERENT)
[uncategorized] ~9-~9: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... add that dependency to the main Gemfile or it will not work in CI. ## Configuring...
(COMMA_COMPOUND_SENTENCE)
docs/javascript/angular-js-integration-migration.md
[grammar] ~7-~7: The word “setup” is a noun. The verb is spelled with a space.
Context: ...ave not already done this, then you can setup the ReactOnRails
default JS code dire...
(NOUN_VERB_CONFUSION)
[style] ~7-~7: Did you mean ‘different from’? ‘Different than’ is often considered colloquial style.
Context: ...inclusion this way will be no different than using the Rails asset pipeline. However...
(DIFFERENT_THAN)
docs/misc/doctrine.md
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...
(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...
(ALTOGETHER)
[uncategorized] ~33-~33: The verb “is” doesn’t seem to fit in this context, “are” is probably more formally correct.
Context: ...h the many parts of an application that is the same or very similar to all the oth...
(AI_HYDRA_LEO_CPT_IS_ARE)
[uncategorized] ~59-~59: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... from the perspective that it rocks for client side development with Rails, even though it'...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~63-~63: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: .... ES6 is beautiful. React is beautiful. Client side code written with React plus Redux, ful...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~67-~67: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...for Rails (document/database based with lots of business rules), the tight integration ...
(A_LOT_OF)
[uncategorized] ~67-~67: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...on Rails is better than building a pure client side app and separate microservices. Here's ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~71-~71: The adjective “React-driven” is spelled with a hyphen.
Context: ...ws mixing and matching Rails pages with React driven pages, even on the same page. Not every...
(DRIVEN_HYPHEN)
[uncategorized] ~78-~78: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...p with: - Community suggestions. - New client side tooling, libraries, and techniques. - U...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/file-system-based-automated-bundle-generation.md
[typographical] ~180-~180: After the expression ‘for example’ a comma is usually used.
Context: ...ry` nor directly add their bundles. For example you can have a Rails view using three c...
(COMMA_FOR_EXAMPLE)
[style] ~207-~207: Consider a shorter alternative to avoid wordiness.
Context: ...ge both in server and client rendering. In order to have separate definitions for client an...
(IN_ORDER_TO_PREMIUM)
docs/contributor-info/pull-requests.md
[uncategorized] ~5-~5: Loose punctuation mark.
Context: ...# Checklist before Committing 1. rake
: runs all linters and specs (you need Do...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~12-~12: Possible missing article found.
Context: ...d entry? For non-doc fixes: - Provide changelog entry in the [unreleased section of the...
(AI_HYDRA_LEO_MISSING_A)
README.md
[style] ~87-~87: Style-wise, it’s not ideal to insert an adverb (‘conditionally’) in the middle of an infinitive construction (‘to render’). Try moving the adverb to avoid split infinitives.
Context: ...lient-and-server-rendering/1352) - [How to conditionally render server side based on the device type](https://forum...
(SPLIT_INFINITIVE)
docs/home.md
[grammar] ~22-~22: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `s...
(NOUN_VERB_CONFUSION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: Possible missing comma found.
Context: ...mpile. Also, it creates
/home/webapp` directory allowing the precompile task to create ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~19-~19: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ... server-side rendering, then you have a couple options. The recommended technique is to have a...
(PLENTY_OF_NOUNS)
[uncategorized] ~43-~43: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...' of undefined" (if inline is true)` # Client Side rendering with HMR using react-refresh-...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~47-~47: Possible missing comma found.
Context: ...n ## Basic installation To enable HMR functionality you have to use `./bin/shakapacker-dev-...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~85-~85: You might be missing the article “the” here.
Context: ... }), ); } ``` We added overlay.sockPort
option in `ReactRefres...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~85-~85: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...akapacker.yml`. That way we make sockjs works properly and suppress error in browser ...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~100-~100: A comma might be missing here.
Context: ...ding. If by some reason plugin doesn't work you could revert changes and left only ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~100-~100: This adverb was used twice in the sentence. Consider removing one of them or replacing them with a synonym.
Context: ... devServer hmr/inline to true affecting only css files. These plugins are working a...
(ADVERB_REPETITION_PREMIUM)
docs/guides/webpack-configuration.md
[uncategorized] ~27-~27: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...s very little code needed to get started and you don't need to understand really any...
(COMMA_COMPOUND_SENTENCE)
NEWS.md
[grammar] ~10-~10: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `r...
(NOUN_VERB_CONFUSION)
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...v12**. 1. React Hooks Support for top level components 2. Typescript bindings...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~20-~20: A determiner appears to be missing. Consider inserting it.
Context: ...rformance improvements! Please upgrade! Only "breaking" change is that you have to u...
(AI_EN_LECTOR_MISSING_DETERMINER)
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...
(EN_DATE_WEEKDAY_CURRENTYEAR)
[style] ~49-~49: Consider an alternative verb to strengthen your wording.
Context: ...md) for details, and let us know if you see any issues! [Migration steps from 1.x](...
(IF_YOU_HAVE_THIS_PROBLEM)
[grammar] ~60-~60: “React” is a proper noun and needs to be capitalized.
Context: ...._ If you did generate a fresh app from react_on_rails and want to move to CSS Module...
(A_GOOGLE)
[style] ~60-~60: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 8677 characters long)
Context: ...information. Ping us if you want to help! - ShakaCode...
(EN_EXCESSIVE_EXCLAMATION)
docs/javascript/webpack.md
[uncategorized] ~5-~5: You might be missing the article “an” here.
Context: ... "Code Splitting", etc You can try out example app, [shakacode/react-webpack-rails-tut...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
docs/outdated/rails-assets-relative-paths.md
[grammar] ~51-~51: After the number ‘two’, use a plural noun. Did you mean “examples”?
Context: ...name].[ext]', }, ``` both of these two example above do the exact same thing, just usi...
(CD_NNU)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ... both of these two example above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[uncategorized] ~51-~51: Possible missing comma found.
Context: ...ifferent syntaxes. For the rest of this doc we will be using the JSON object style....
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~53-~53: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...k.github.io/docs/using-loaders.html). _For the sake of this doc, we're also going ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[typographical] ~61-~61: Consider adding a comma here.
Context: ...r file's resulting name after bundling. For now we're just going to use: ```javascript...
(FOR_NOW_COMMA)
[style] ~67-~67: In American English, abbreviations like “etc.” require a period.
Context: ...nsion of the original file (.png, .jpg, etc). Next we'll set the outputPath for ou...
(ETC_PERIOD)
docs/javascript/react-router.md
[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...dering** and should be only used in the server side bundle. From the [original example in ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...
(EN_EXCESSIVE_EXCLAMATION)
docs/additional-details/recommended-project-structure.md
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline. It depends! Here's a good discussion of this option: [Why does Ra...
(GOOD_CONSTRUCTIVE)
[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...ctory structure 1. /client/app/assets
: Assets for CSS for client app. 1. `/cli...
(UNLIKELY_OPENING_PUNCTUATION)
docs/additional-details/manual-installation-overview.md
[uncategorized] ~25-~25: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...r Rails installation. 1. Configure your top level JavaScript files for inclusion in your ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
KUDOS.md
[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ators are great and the community is so awesome and welcoming. In fact, I love it so mu...
(AWESOME)
[grammar] ~49-~49: “React” is a proper noun and needs to be capitalized.
Context: ...Rails](https://goo.gl/uzu36X) using the react_on_rails gem!" ![The Complete React on ...
(A_GOOGLE)
[style] ~102-~102: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1997 characters long)
Context: ...ls gems to manage front end dependencies! React on Rails provides webpack integra...
(EN_EXCESSIVE_EXCLAMATION)
docs/getting-started.md
[style] ~98-~98: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...onent in this way is how React on Rails is able to reference your component from a Rails v...
(BE_ABLE_TO)
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...
(A_GOOGLE)
[uncategorized] ~142-~142: You might be missing the article “the” here.
Context: ...nents running on the server side versus client side. For example, if you have an anima...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~144-~144: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/rails/turbolinks.md
[typographical] ~11-~11: It seems that a comma is missing.
Context: ... obsolete. # Using Turbo To configure Turbo the following option can be set: `React...
(IN_ORDER_TO_VB_COMMA)
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: You might be missing the article “the” here.
Context: ...he head element by JavaScript (not only body) on page changes with the correct csrf ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~43-~43: A comma might be missing here.
Context: ...e caused by app code, not library code. Anyway it may need additional checking because...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~80-~80: A comma might be missing here.
Context: ...start(); ``` ### async script loading Generally async script loading can be done like: ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[typographical] ~95-~95: Make sure that the comma (,) is correct. Do not use a comma before a dependent clause that starts with ‘that’.
Context: ...cripts asynchronously you may experience, that your Components are not registered corr...
(COMMA_THAT_NOUN)
[uncategorized] ~149-~149: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...y gem version of jQuery and jQuery ujs. Therefore we recommend using the node packages in...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/guides/i18n.md
[grammar] ~29-~29: Normally, after “try to” a verb is expected.
Context: ...k process as well. Note: if you try to lint before running tests, and you depend on...
(WANT_TO_NN)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~157-~157: You might be missing the article “the” here.
Context: ...plugin react-hot-loader/babel
with option "safetyNet": false
: ``` { "plugi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/additional-details/generator-details.md
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ... functionality, is given its own folder inside of app/javascript/app/bundles
. Note, the...
(OUTSIDE_OF)
[style] ~45-~45: This phrase is redundant. Consider using “Inside”.
Context: ...ncourages for modularity of domains. Inside of the generated "HelloWorld" domain you w...
(OUTSIDE_OF)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: - startup
: This contains the entry point files for...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ... with separate endpoints. - containers
: "smart components" (components that hav...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). - components
: includes "dumb components", or componen...
(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/client-vs-server-rendering.md
[uncategorized] ~25-~25: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~7-~7: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...nfiguration to a better setup ready for Server Side Rendering. ## Upgrading to v13 ### Br...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...
(COMMA_COMPOUND_SENTENCE)
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...
(NOUN_VERB_CONFUSION)
[uncategorized] ~144-~144: The preposition “by” seems more likely in this position.
Context: ..._RAILS"] usage. You can get all tracing with either specifying trace
at your c...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[uncategorized] ~165-~165: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ndles to bypass the Rails asset pipeline and it's extra minification, enabling you t...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
- Gemfile
: bu...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ... config/initializers/react_on_rails.rb
: - Delete `config.generated_assets_dir...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~178-~178: The verb ‘Replace’ is plural. Did you mean: “replaces”? Did you use a verb instead of a noun?
Context: ...onfig now supplies this information - Replace `config.npm_build_(test|production)_com...
(PLURAL_VERB_AFTER_THIS)
[uncategorized] ~179-~179: A comma might be missing here.
Context: ...commend setting dev_server.hmr to false however since HMR is currently broken. - `clien...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...urrently broken. - client/package.json
: bump react_on_rails
(I recommend bump...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~225-~225: This phrase is duplicated. You should probably use “Run Run” only once.
Context: ...rade RoR in the client/package.json
- Run bundle
- Run rails webpacker:install
- Run rails webpacker:install:react
- Run rails g react_on_rails:install
- Move...
(PHRASE_REPETITION)
[formatting] ~269-~269: These punctuation marks differ from each other. Use only one if you are ending a sentence.
Context: ...name,** unless the bundle is server side.: ``` const webpackConfigLoader ...
(DOUBLE_PUNCTUATION_PREMIUM)
[duplication] ~300-~300: Possible typo: you repeated a word.
Context: ...packer.yml - If you are not using the webpacker webpacker setup, be sure to put in `compile: fals...
(ENGLISH_WORD_REPEAT_RULE)
docs/guides/render-functions-and-railscontext.md
[uncategorized] ~42-~42: You might be missing the article “an” here.
Context: ...yAppComponent; ``` --- _This would be alternate API where you have to call React.create...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
docs/javascript/server-rendering-tips.md
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...the view helper applies to client and server side code, the best way to do this is to use...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~14-~14: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...int is that you have separate files for top level client or server side, and you pass som...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~20-~20: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...ou will also get the whole file used to setup the JavaScript context. ## CSS Server...
(NOUN_VERB_CONFUSION)
[uncategorized] ~30-~30: Possible missing comma found.
Context: ...all setTimeout
. Here's an example of this which shows the line numbers that end u...
(AI_HYDRA_LEO_MISSING_COMMA)
PROJECTS.md
[uncategorized] ~15-~15: You might be missing the article “a” here.
Context: ...eals](https://www.redflagdeals.com/)**, Canadian shopping site. - **[YourMechanic](https...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~22-~22: You might be missing the article “a” here.
Context: ...](https://www.kisskissbankbank.com/)**, large French crowdfunding platform. - **[HVMN...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~29-~29: This word is normally spelled as one.
Context: ...has gone live with React on Rails, with multi-lingual JavaScript support! ![2016-05-03_19-1...
(EN_COMPOUNDS_MULTI_LINGUAL)
[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...lational Marketing for Real Estate. ## Open Source Projects Live - [github.com/empirical-...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~61-~61: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ps://github.com/sharetribe/sharetribe): Open source marketplace platform.
(EN_COMPOUND_ADJECTIVE_INTERNAL)
🪛 markdownlint-cli2 (0.17.2)
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
10-10: Bare URL used
null
(MD034, no-bare-urls)
docs/javascript/capistrano-deployment.md
16-16: Dollar signs used before commands without showing output
null
(MD014, commands-show-output)
CONTRIBUTING.md
7-7: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
docs/outdated/rails-assets.md
3-3: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
docs/guides/tutorial.md
7-7: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
22-22: Bare URL used
null
(MD034, no-bare-urls)
23-23: Bare URL used
null
(MD034, no-bare-urls)
25-25: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
docs/guides/file-system-based-automated-bundle-generation.md
163-163: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
README.md
97-97: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
98-98: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
99-99: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
100-100: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
101-101: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
102-102: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
docs/javascript/troubleshooting-when-using-webpacker.md
10-10: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
docs/guides/webpack-configuration.md
41-41: Bare URL used
null
(MD034, no-bare-urls)
42-42: Bare URL used
null
(MD034, no-bare-urls)
docs/javascript/react-and-redux.md
5-5: Spaces inside link text
null
(MD039, no-space-in-links)
docs/guides/how-react-on-rails-works.md
5-5: Emphasis style
Expected: asterisk; Actual: underscore
(MD049, emphasis-style)
5-5: Emphasis style
Expected: asterisk; Actual: underscore
(MD049, emphasis-style)
docs/additional-details/recommended-project-structure.md
5-5: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
32-32: Trailing punctuation in heading
Punctuation: '.'
(MD026, no-trailing-punctuation)
38-38: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
KUDOS.md
70-70: Bare URL used
null
(MD034, no-bare-urls)
106-106: Bare URL used
null
(MD034, no-bare-urls)
docs/getting-started.md
140-140: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
docs/rails/turbolinks.md
93-93: Bare URL used
null
(MD034, no-bare-urls)
97-97: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
137-137: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
144-144: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
CHANGELOG.md
9-9: Bare URL used
null
(MD034, no-bare-urls)
245-245: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
427-427: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
428-428: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
452-452: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
617-617: Bare URL used
null
(MD034, no-bare-urls)
621-621: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
745-745: Spaces inside link text
null
(MD039, no-space-in-links)
750-750: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
753-753: Spaces inside link text
null
(MD039, no-space-in-links)
761-761: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
767-767: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
780-780: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
796-796: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
798-798: Bare URL used
null
(MD034, no-bare-urls)
803-803: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
809-809: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
834-834: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
838-838: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
844-844: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
854-854: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
860-860: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
866-866: Spaces inside link text
null
(MD039, no-space-in-links)
870-870: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
876-876: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
887-887: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
893-893: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
899-899: Bare URL used
null
(MD034, no-bare-urls)
908-908: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
914-914: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
926-926: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
936-936: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
961-961: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
967-967: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
975-975: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
985-985: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
995-995: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
1009-1009: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
1015-1015: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1021-1021: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1028-1028: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1036-1036: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1042-1042: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1060-1060: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1066-1066: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1072-1072: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1074-1074: Spaces inside link text
null
(MD039, no-space-in-links)
1078-1078: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1087-1087: Spaces inside link text
null
(MD039, no-space-in-links)
1093-1093: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1099-1099: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1105-1105: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1111-1111: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1117-1117: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1123-1123: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1183-1183: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1197-1197: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1207-1207: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1239-1239: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1245-1245: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1251-1251: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1257-1257: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1290-1290: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1296-1296: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1302-1302: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1309-1309: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1317-1317: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1323-1323: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1329-1329: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1373-1373: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1381-1381: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1387-1387: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1399-1399: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1433-1433: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1452-1452: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1461-1461: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1467-1467: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1473-1473: Bare URL used
null
(MD034, no-bare-urls)
1476-1476: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1494-1494: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1504-1504: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1524-1524: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
docs/guides/upgrading-react-on-rails.md
64-64: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
143-143: Bare URL used
null
(MD034, no-bare-urls)
182-182: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
299-299: Bare URL used
null
(MD034, no-bare-urls)
303-303: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: dummy-app-integration-tests (newest)
- GitHub Check: dummy-app-integration-tests (oldest)
- GitHub Check: examples (newest)
🔇 Additional comments (339)
docs/testimonials/testimonials.md (1)
2-2
: Blank Line Added for Improved Readability.The extra blank line after the main title on line 1 improves the spacing and overall legibility of the document. Please ensure that this style aligns with the repository’s Markdown formatting guidelines for consistency.
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md (1)
4-5
: Enhanced Indentation for Instruction Clarity
The additional space added to these lines improves the visual separation of the instruction text, making it easier to read and follow.docs/contributor-info/releasing.md (2)
5-7
: Enhanced Section Separation with Added Blank Line.
The inserted blank line after the section header "## Testing the Gem before Release from a Rails App" improves the document’s readability by visually separating the header from the subsequent content.
9-12
: Removal of Duplicate Instruction Improves Clarity.
Eliminating the redundant occurrence of "Runrake -D release
to see instructions on how to release via the rake task." reduces potential confusion and streamlines the documentation.docs/additional-details/manual-installation-overview.md (1)
21-26
: Enhanced Rails Steps Section for Improved ClarityThe updated instructions now recommend adding
gem "shakapacker"
and explain that the gem provides thestylesheet_pack_tag
andjavascript_pack_tag
helpers. This change modernizes the guide and enhances readability. Please verify that the linked examples and documentation URLs remain current.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...r Rails installation. 1. Configure your top level JavaScript files for inclusion in your ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/installation-into-an-existing-rails-app.md (1)
50-51
: Enhance the Default PORT NoteThe note about
foreman
defaulting to PORT 5000 is clear and helpful. For additional clarity, consider explicitly stating that this behavior may override Rails' default port configuration unless adjusted.docs/misc/tips.md (4)
3-4
: Enhanced Command Instructions
The revised instruction clearly emphasizes usingforeman start -f Procfile.dev
(or an equivalent command likeovermind
) to ensure webpack file watchers run automatically. This addition enhances clarity about starting the Rails app and preventing bundle rebuild issues during testing.
5-5
: Clarified Server-side Rendering Defaults
The updated note on the defaultprerender: false
setting, along with the explicit mention of async setup limitations, provides clear and useful guidance. It now offers a better understanding of potential pitfalls with server rendering.
7-7
: Client-side Rendering Verification Advice
Highlighting the need to render the React component on the client side first is a practical tip that will help developers isolate issues related to server-side rendering.
8-8
: In-depth HTML Inspection Guidance
The expanded explanation on inspecting the HTML source—detailing the differences in output when server rendering is toggled—greatly aids in understanding the underlying mechanics of rendering. This added detail enhances developer insight and troubleshooting.docs/javascript/troubleshooting-when-using-shakapacker.md (1)
75-76
: Link Addition is Well-Considered
The added link directly referencing the Shakapacker source file improves traceability and provides a convenient way for readers to verify the configuration.docs/javascript/webpack.md (3)
7-9
: Clear version recommendation section.
The section "## Webpack v1 or v2?" followed by "We recommend using Webpack version 2.3.1 or greater." is succinct and informative. The readability improvements here are solid.
11-13
: Concise recommendation for package manager.
The "## yarn or npm?" heading followed by "Yarn is the current recommendation!" is clear and easy to follow. No changes required.
21-22
: Resource links are well formatted.
The addition of the bullet items for "[Implicit Common Vendor Chunk]" and "[Manifest File]" under "Entry Points" is clear and consistent. This enhances the overall readability of the document.docs/rails/rails_view_rendering_from_inline_javascript.md (6)
2-2
: Formatting Enhancement: Added Line Break After Title
The inserted blank line at line 2 helps separate the heading from the body text, improving the document's visual structure and overall readability.
19-19
: JavaScript Syntax Correction: Semicolon Addition
Appending a semicolon at the end of theReactOnRails.render
method call ensures proper JavaScript statement termination, which is important for preventing potential issues with automatic semicolon insertion.
23-23
: Enhanced Explanation Clarity
The revised line at 23 now clearly explains how jQuery events are used to update component state. This minor refinement aids in understanding the integration of React with jQuery within the document.
31-31
: Consistent Use of Single Quotes for jQuery Selector
Using single quotes in the jQuery selector (line 31) provides consistency with the rest of the code examples and aligns with the project's style guidelines.
32-32
: Standardized Render Method Call Formatting
The updated render call at line 32 now uses single quotes for string literals, ensuring uniformity throughout the code and enhancing readability.
34-34
: Improved Event Handler Declaration for Readability
The adjustment at line 34—specifically, including a space after thefunction
keyword—makes the event handler declaration more readable and consistent with common coding practices.docs/guides/how-to-use-different-files-for-client-and-server-rendering.md (6)
6-6
: Improve Section SeparationA minimal formatting change at line 6 enhances the visual separation between sections. This helps improve overall readability.
12-14
: Enforce Consistent Semicolon Usage in Code ExamplesThe addition of a semicolon at the end of the
ReactOnRails.register({ App });
statement (line 14) in the client entry example ensures consistent JavaScript syntax and clarity in the demonstration.
20-22
: Ensure Consistent Semicolon Usage in Server Entry ExampleSimilarly, the updated semicolon at the end of
ReactOnRails.register({ App });
(line 22) in the server entry code block reinforces consistent coding style and improves readability.
27-29
: Clarify Section Title for Webpack Resolve AliasThe formatting revision in the section header (line 28) for "Two Options for Using Webpack Resolve Alias in the Webpack Config" enhances readability by clearly demarcating this section from surrounding content.
60-62
: Enhance Subsection Visibility for Alias ConfigurationThe adjustment in the subsection header (line 61) for updating
webpack/set-resolve.js
makes the structure of the document clearer, ensuring that readers can easily identify the different approaches discussed.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
60-60: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
95-98
: Refine the Conditional Code Block FormattingThe formatting changes in the conditional block checking
if (window)
(lines 95–98) introduce better visual separation between code and comments. This increases readability by clearly isolating the conditional logic from the inline commentary.docs/javascript/react-and-redux.md (2)
8-10
: Clear Context for Redux ReducersThe additional documentation text “Documentation of generated Redux code for reducers.” immediately following the “Redux Reducers” header adds useful context. This clarification makes it easier for the reader to understand the focus of this section, aligning well with the readability improvements targeted by the PR.
12-14
: Improved Example Section ExpositionThe note preceding the JavaScript example now explains that the “helloWorld/reducers/index.jsx” example may be simplistic and that a more detailed sample follows. This additional explanation is beneficial for readers in setting correct expectations and enhances clarity.
docs/outdated/deferred-rendering.md (2)
6-7
: Standardize Horizontal Rule Formatting.
The horizontal rule on line 6 has been updated to use---
, which is a cleaner and more standard markdown separator. This minor change enhances the overall readability of the document.
34-36
: Streamline "React on Rails Pro" Section.
The standalone header "## React on Rails Pro" has been removed and the related content has been restructured into a continuous paragraph. This change minimizes visual clutter and improves the readability of the documentation. Please verify that the new structure still clearly highlights the significance of the provided link.docs/javascript/code-splitting.md (9)
7-7
: Enhanced Section Separation with Horizontal RuleThe addition of a horizontal rule (
---
) at line 7 clearly delineates the introductory content from the subsequent sections, thereby improving overall document structure and readability.
32-32
: Improved Separation of Header and Code BlockThe insertion (or adjustment) on line 32 creates a clear visual separation between the "#### page.html.erb" header and its corresponding code snippet. This minor formatting change enhances clarity without affecting functionality.
40-40
: Consistent Spacing Before Code BlocksThe change at line 40 adds a newline before the JavaScript code block in the
clientRegistration.js
section. This adjustment is a subtle yet effective way to maintain consistency and improve readability across the document’s examples.
50-50
: Consistent Object Literal FormattingAt line 50, the updated spacing in the object literal (
{ applicationStore }
instead of{applicationStore}
) fosters improved readability. This change makes the code example more consistent with common style guidelines.
58-58
: Uniform Formatting Above Code BlocksThe modification at line 58 creates a consistent gap between the "#### serverRegistration.js" header and the subsequent code snippet, aligning with the improvements seen in other sections.
67-67
: Readable Store Registration SyntaxThe update at line 67 in the server registration example adopts the same improved spacing for the object literal (
{ applicationStore }
), ensuring uniformity across similar code examples in the document.
73-73
: Clear Instruction on Renderer RegistrationLine 73 now clearly states that a renderer should not be registered on the server, since there won’t be a
domNodeId
available. This enhanced commentary clarifies best practices for server rendering and improves the document’s instructional quality.
77-77
: Consistent Heading Spacing for Code ExampleThe change at line 77 reinforces the consistency of spacing between the "#### RouterAppRenderer.jsx" section header and its ensuing code block. This contributes to improved readability throughout the documentation.
151-151
: Neat Webpack Configuration FormattingAt line 151, the refined formatting within the webpack configuration (i.e., the proper indentation and trailing comma for
publicPath: '/assets/',
) enhances readability and aligns with common JavaScript style practices.docs/contributor-info/linters.md (10)
10-11
: Clarify RuboCop Directory Instruction.
The updated bullet point now advises being in the correct directory—"usually the top level of your Rails project"—which is clearer than the earlier ambiguous phrasing.
12-14
: Standardize Code Block Styling for RuboCop.
Using thebash
code fence for therubocop -a
command improves readability and ensures proper syntax highlighting, making it easier for contributors to copy and run the command.
16-16
: ESLint Directory Reminder.
This instruction concisely reminds users to verify that they are in the correct directory for JavaScript files. It aligns well with the document’s readability improvements.
18-20
: ESLint Fix Command Code Block.
Presenting theeslint --fix .
command within a clearly tagged Bash code block enhances clarity and usability.
22-26
: NPM Lint Fix Command Presentation.
Including the alternativenpm run lint -- --fix
command in a Bash code block standardizes the formatting and ensures consistency across the document.
32-33
: Direct ESLint Documentation Link.
Linking directly to the ESLint website gives contributors quick access to authoritative documentation, which is a beneficial readability change.
36-37
: Documentation Link for Configuring Rules.
The updated text advises checking the documentation first, which is clear and useful for quick reference.
38-38
: Enhanced Rule Severity Explanation.
Rephrasing the rule severity configuration to use'off'
,'warn'
, and'error'
instead of numerical values improves clarity and aligns with modern ESLint practices.
40-40
: Clarification on Additional Rule Options.
The note explaining that rules can be set as arrays—with the severity as the first item followed by additional options—is concise and informative.
70-72
: RuboCop Section Enhancement.
Changing the RuboCop section to directly reference the RuboCop website makes it more straightforward and user-friendly.docs/api/redux-store-api.md (8)
32-33
: Consistent Object Syntax in Store Registration
The addition of the trailing comma afterappStore
in theReactOnRails.registerStore
call enhances readability and keeps the object literal style consistent.
40-40
: Consistent Quote Usage in getStore Call
Changing the quotes from double to single inReactOnRails.getStore('appStore')
aligns with the overall styling and improves consistency across the documentation.
62-62
: Proper Escaping of Underscores in Filenames
Escaping the underscore in**\_comments.html.erb**
prevents unintended markdown formatting, ensuring the file name is rendered literally.
68-68
: Proper Escaping of Filenames
Similarly, escaping the underscore in**\_blogs.html.erb**
is a useful readability improvement to display the filename correctly.
74-74
: Consistent Note Formatting
Changing the note from*Note:*
to_Note:_
improves visual consistency and clarity within the markdown documentation.
85-85
: Clear Parameter Description Formatting
The refined formatting for theprops
parameter description makes the documentation easier to read and understand, adhering to documentation best practices.
101-101
: Enhanced Documentation Listing for Controller Source
Updating the link format for[lib/react_on_rails/controller.rb]
improves clarity and makes it simpler for users to locate the source code reference.
102-102
: Enhanced Documentation Listing for Helper Source
The revised formatting for[lib/react_on_rails/helper.rb]
further boosts the documentation’s readability and consistency.docs/guides/i18n.md (6)
7-10
: Clarify Code Block for i18n Directory Configuration.
The Ruby code block now uses clear inline comments and improved indentation to explain how to set theconfig.i18n_dir
. For added clarity, you might consider providing an example path if appropriate.
12-18
: Consistent Formatting for YAML Directory Setup.
This code block for configuringconfig.i18n_yml_dir
is well formatted and the inline comments clearly explain what the user should do. The readability improvements make the instructions straightforward.
37-39
: Clear Code Block for YAML Safe Load Options.
The configuration snippet settingconfig.i18n_yml_safe_load_options
is concise and clearly formatted, making it easy to understand and follow.
51-58
: Readable Package.json Dependencies Block.
The JavaScript code block presenting package dependencies is formatted consistently and is easy to read, supporting the overall readability goal of the PR.
84-91
: Clear Component Code Example.
The code example for using translations in a component is well formatted and clearly demonstrates the integration of default messages, aiding readability for developers.
95-98
: Consistent and Informative Notes Section.
The notes section is now consistently formatted and provides useful links and context. This contributes positively to the overall readability and utility of the documentation.SUMMARY.md (11)
9-9
: Visual Separator Addition – Enhances Section Demarcation
The insertion of the dashed line (---
) at line 9 provides a clear visual break between the new documentation link and the subsequent “OLD DOCS BELOW” section. This change improves the overall readability of the document.
11-13
: Improved Formatting for the "OLD DOCS BELOW" Section
The header and associated bullet list (starting at line 11 and 13) have been reformatted to align with the new style. This update increases consistency with the rest of the document’s structure.
15-30
: Consistent Bullet List Styling in the "Basics" Section
The bullet points under “Basics” (lines 15–30) now use a uniform dash-prefix with consistent spacing. This reformatting enhances clarity and makes the list easier to scan.
31-36
: Reformatted "API" Section for Better Readability
The “API” section (lines 31–36) has been updated with the same consistent bullet styling. This helps maintain a unified look across all documentation sections.
37-45
: Enhanced Formatting in the "Additional Details" Section
The restructured bullet list in “Additional Details” (lines 37–45) improves text alignment and spacing. This adjustment contributes to a cleaner and more navigable document layout.
46-52
: Uniform Styling in the "Rails" Section
The bullet points in the “Rails” section (lines 46–52) now follow the updated formatting scheme, promoting consistency and better readability across the file.
53-62
: Improved List Clarity in the "Javascript" Section
The bullet list for the “Javascript” section (lines 53–62) has been reformatted, ensuring that spacing and alignment are consistent with other sections. This change facilitates easier navigation through the topics.
63-67
: Clearer List Presentation in the "Deployment" Section
The “Deployment” section (lines 63–67) now uses uniform bullet formatting, which enhances the overall document structure and readability.
68-72
: Standardized Formatting for "Outdated Non-Webpack Docs" Section
The bullet entries in “Outdated Non-Webpack Docs” (lines 68–72) have been adjusted to follow the consistent style, contributing to the document’s improved visual coherence.
73-78
: Clearer Formatting in the "CONTRIBUTING" Section
The updated bullet list styling in the “CONTRIBUTING” section (lines 73–78) better highlights the available topics and guides, aligning with the overall readability improvements implemented in this PR.
79-89
: Refined List Structure in the "Misc" Section
The “Misc” section (lines 79–89) now features meticulously reformatted bullet points. These changes enhance alignment and spacing, making the information easier to digest and in line with the project’s new style guidelines.docs/additional-details/generator-details.md (1)
54-56
: Enhance section header spacing.
The addition of extra whitespace before the "## Redux" header clearly separates the content sections and improves readability.docs/guides/rails-webpacker-react-integration-options.md (8)
10-14
: Improved Markdown Table Formatting:
The updated table now features enhanced alignment and spacing, which significantly improves readability for users comparing gem capabilities. However, please verify that the number of columns in the header, divider, and rows is consistent to ensure correct markdown table rendering.
39-47
: Enhanced React Component Declaration:
The arrow function for theHello
component is now clearly defined with parenthesis around theprops
parameter, making the function more readable and in line with modern ES6 standards.
50-54
: Clear Component Rendering Logic:
The snippet that adds theDOMContentLoaded
event listener, retrieves the DOM node, parses the JSON data, and renders theHello
component is concise and easy to follow.
69-85
: Well-Structured Webpack Warning Suppression:
The configuration snippet that usesmerge
to combine the base Webpack config with custom options—specifically to ignore warnings related to'react-dom/client'
—is well-organized and improves the overall readability of configuration settings.
127-144
: Clear Integration of React Refresh Plugin:
The diff snippet for integratingReactRefreshWebpackPlugin
is straightforward and clean. The conditional check forWEBPACK_DEV_SERVER
ensures that the plugin is only included when needed, which enhances both readability and maintainability.
174-184
: Accurate Diff for React Hot Loader Update:
The diff snippet clearly indicates the necessary changes to incorporatereact-hot-loader
in the entry file (app.jsx
). This update increases the clarity of the hot reloading setup, making it easier for developers to understand the adjustment.
186-202
: Improved Webpack Development Configuration:
The added condition to checkif (!module.hot)
before modifying the sass-loader’ssourceMapContents
option is a thoughtful enhancement. This change not only improves readability but also ensures that the configuration behaves correctly in non-HMR environments.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass ...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
207-216
: Clean Alias Configuration in Webpack Environment:
The snippet that merges the alias configuration forreact-dom
with@hot-loader/react-dom
is well-presented and concise, streamlining the setup for React Hot Loader without clutter.docs/guides/render-functions-and-railscontext.md (10)
1-1
: Enhanced Header FormattingThe main title is now cleaner and more prominent. Please double-check that the capitalization and punctuation align with the overall documentation style guidelines.
24-25
: Improved Arrow Function Signature FormattingThe arrow function definition for
MyAppComponent
has been reformatted so that the function parameters are on their own line. This improves clarity by clearly separating the signature from the function body.
31-36
: Refactored JSX Block LayoutThe JSX returned from the inner arrow function is now neatly indented and spaced. This layout makes the component structure easier to read and understand.
40-40
: Separator for Example ClarityThe horizontal rule clearly demarcates different code examples, which enhances document structure and guides the reader through the content.
46-57
: Consistent Formatting in React.createElement ExampleThe revised example using
React.createElement
now follows a similar formatting style to other examples in the document. The inline arrow function and neatly indented JSX improve readability.
61-61
: Additional Separator for Clear Example DivisionThe extra separator reinforces the distinction between code examples. This visual cue is helpful for readers navigating multiple examples in one document.
63-63
: Clarified Server Rendering NoteThe reformatted note about potential React browser console warnings now stands out more clearly. This ensures that important contextual information isn’t overlooked.
115-115
: Distinct Label for ERB View FileSeparating the "ERB view file:" label into its own line clearly indicates that the following code snippet is an example for Rails views. This separation aids comprehension.
146-150
: Streamlined Declaration of AppComponentWithRailsContextThe
AppComponentWithRailsContext
function now has a clear and concise arrow function structure. This change makes it easier to follow how props andrailsContext
are merged before being passed to the underlying component.
157-157
: Clearer JSX Spread Operator SyntaxThe syntax demonstrating the use of the JSX spread operator is now more explicit. This improved clarity helps readers understand how props and
railsContext
are combined.KUDOS.md (2)
14-14
: Consistent Heading and Section FormattingThe updated date and section headings are uniformly formatted, which makes the document’s chronology clear and improves overall readability.
Also applies to: 20-20, 26-26, 32-32, 38-38, 44-44, 48-48, 53-53, 57-57, 61-61, 65-65, 69-69, 74-74, 79-79, 83-83, 87-87, 90-91, 97-97, 101-101, 105-111
1-115
: Overall Document Readability EnhancedThe revised layout—with clear chronological headings, integrated images, and structured testimonials—drastically improves the document’s readability and engagement. Great work on these changes!
🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ators are great and the community is so awesome and welcoming. In fact, I love it so mu...(AWESOME)
[grammar] ~49-~49: “React” is a proper noun and needs to be capitalized.
Context: ...Rails](https://goo.gl/uzu36X) using the react_on_rails gem!" ![The Complete React on ...(A_GOOGLE)
[style] ~102-~102: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1997 characters long)
Context: ...ls gems to manage front end dependencies! React on Rails provides webpack integra...(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
5-5: Trailing punctuation in heading
Punctuation: '.'(MD026, no-trailing-punctuation)
70-70: Bare URL used
null(MD034, no-bare-urls)
106-106: Bare URL used
null(MD034, no-bare-urls)
docs/rails/turbolinks.md (13)
3-4
: Heading Update Clarity:
The updated heading "React on Rails Updated to support Turbo, August 2024" sets the context effectively and improves clarity.
5-7
: Enhanced Reference Links:
The bullet list now includes clear references to PR 1620 and PR 1374, and the Turbo link is up-to-date with the phrasing "as Turbolinks becomes obsolete." This improves readability and directs the reader to relevant resources.
22-24
: Version Information Clarity:
The bullet points now explicitly mention that React on Rails supports 2.5.x of Turbolinks and 5.0.0 of Turbolinks 5, and they specify the recommended installation methods (via yarn or gem). This presentation is clear and informative.
31-35
: Clear Requirements:
The requirements for using Turbolinks are clearly listed in bullet form, emphasizing potential conflicts (e.g., with react-router) and the need to consolidate assets. This structure aids quick comprehension.
37-39
: Pros and Cons Clarity:
The "Why Not Turbolinks" section effectively outlines potential drawbacks and invites community feedback. Listing the points in a numbered format (even if they all show as "1.") works in Markdown, but ensure your rendering tool increments the numbers as intended.
47-58
: Install Checklist Clarity:
The Install Checklist is well structured, and the code snippet displaying the asset tags is clearly formatted. The use of "```erb" for the fenced code block is appropriate.
59-63
: Application.js Snippet:
The instructions and code snippet for adding Turbolinks to yourapplication.js
are clear and concise.
64-67
: Turbolinks 5 Support Notice:
This section clearly states that Turbolinks 5 is now supported and that the correct event handlers will be used. The message is concise and easy to follow.
70-78
: NPM Installation Guidance:
The guidance on installing Turbolinks from NPM, along with the code snippet (usingimport Turbolinks from 'turbolinks';
), is well presented and easy to follow.
87-92
: Workaround Explanation:
The workaround for theturbolinks:load
issue—suggesting the use ofdefer
instead ofasync
—is clearly explained and supported by a code snippet.
103-113
: Troubleshooting Section:
The troubleshooting section, including the code snippet for setting Turbo tracing options, is well organized and easy to follow.
114-130
: Webpack Configuration Details:
The instructions for configuring TRACE_TURBOLINKS using DefinePlugin are thorough and clearly presented with a code snippet. This aids developers in understanding how the configuration works at compile time.
151-152
: Image Inclusion:
The image illustrating that Turbolinks handlers are installed only once is clear and adds visual context to the documentation.docs/javascript/server-rendering-tips.md (3)
6-8
: Enhanced General Tips WordingThe revised bullet now consistently uses "Server-side JS execution" with proper hyphenation, clarifying that server-side code lacks access to
document
.
23-25
: Consistent Punctuation in CSS SectionAdding a period at the end of the sentence in the CSS section ("Server bundles must always have CSS Extracted.") improves consistency.
33-34
: Improved Command Example FormattingThe revised command examples (lines 33–34) for setting environment variables and running
rspec
are clearly formatted and enhance readability of the output example.docs/javascript/react-router.md (7)
10-11
: Standardized Import StatementsThe import statements now include semicolons, which improves clarity and consistency in the code snippet.
16-16
: Consistent Formatting for Store InitializationThe spacing after
const store = createStore(props);
is consistent, contributing to a cleaner code presentation.
20-20
: Improved JSX LayoutAligning the
<Switch>{routes}</Switch>
element properly enhances readability and clearly delineates the component structure.
29-33
: Refined Markdown List FormattingReformatting the bullet points to directly list the URLs without extraneous asterisks improves the overall appearance and clarity of the list.
37-37
: Clarified Render-Function NoticeThe rephrased note regarding the Render-Function’s return value is clearer. This helps readers understand the expectations when implementing server rendering.
43-43
: Streamlined Text FlowRemoving the extra line break after the original example link (line 43) helps maintain a smooth narrative flow in the documentation.
61-61
: Consistent IndentationThe adjustment to the indentation for
const { location } = railsContext
(line 61) improves the visual structure of the code snippet, making it easier to follow..scss-lint.yml (17)
8-12
: Disable "BangFormat" linter.
The "BangFormat" configuration has been commented out, ensuring that checks for spacing before/after the bang operator are not enforced. This aligns with the readability-focused changes.
13-16
: Disable "BorderZero" linter.
Commenting out the "BorderZero" rule removes the enforcement of zero border conventions, which helps simplify the lint output.
22-27
: Disable "Comment" and "DebugStatement" linters.
The configurations for both "Comment" and "DebugStatement" have been commented out. This reduces unneeded lint warnings and contributes to a cleaner configuration.
28-30
: Disable "DeclarationOrder" linter.
Commenting out "DeclarationOrder" indicates that enforcing a strict declaration order is no longer a priority, aiding in readability.
31-33
: Disable "DuplicateProperty" linter.
The "DuplicateProperty" rule has been commented out, which helps prevent unnecessary lint checks during styling.
34-37
: Disable "ElsePlacement" linter.
By commenting out the "ElsePlacement" rule, the configuration no longer forces a particular style forelse
blocks—a change that contributes to simplifying the style guidelines.
38-41
: Disable "EmptyLineBetweenBlocks" linter.
Disabling this rule by commenting it out allows flexibility with spacing between blocks, potentially enhancing readability.
42-44
: Disable "EmptyRule" linter.
The "EmptyRule" configuration is now commented out, so empty CSS rules will no longer be flagged, which is consistent with minimizing strict formatting constraints.
45-47
: Disable "FinalNewline" linter.
Commenting out "FinalNewline" stops enforcing a newline at the end of the file. This change is in line with the non-strict formatting approach for improved readability.
49-52
: Activate "HexLength" linter with long style.
The "HexLength" rule remains active and enforces the use of long hex values. This maintains a clear stylistic preference regarding color representation.
53-56
: Activate "HexNotation" linter with uppercase style.
By keeping the "HexNotation" rule active and setting its style to uppercase, the configuration clearly standardizes hex color codes. An extra comment line is present at the end for clarity.
57-59
: Disable "HexValidation" linter.
The "HexValidation" rule is commented out, which might be acceptable if other hex-related rules (length and notation) sufficiently cover color formatting concerns.
60-62
: Activate "IdSelector" linter.
The configuration for "IdSelector" is active, ensuring that ID selector rules are enforced. The trailing commented line helps visually separate the configuration block.
63-65
: Disable "ImportantRule" linter.
Disabling the "ImportantRule" (by commenting it out) reduces strict checks against the usage of!important
declarations, which can improve developer ergonomics during styling.
66-70
: Disable "ImportPath" linter.
The "ImportPath" rule is now commented out, indicating that validations related to leading underscores or filename extensions in import paths are not being enforced, thereby streamlining the linting process.
71-76
: Disable "Indentation" linter.
Commenting out the "Indentation" rule offers more flexibility with whitespace, which is in keeping with the readability improvements of this PR. The ellipsis suggests that additional configuration details were also removed.
77-80
: Activate "LeadingZero" linter with inclusion style.
The "LeadingZero" rule is active and set to include a zero before decimal values, ensuring numerical consistency in the style guides.docs/deployment/heroku-deployment.md (1)
2-2
: Improved Document Formatting
A blank line has been added at the beginning of the document to enhance readability and ensure consistent spacing throughout the documentation.docs/additional-details/updating-dependencies.md (1)
16-18
: Clarified Command Instructions
The added instruction at line 17 clarifies that you may need torm -rf
yournode_modules
directory when updating dependencies. This extra guidance improves clarity. Ensure that the list numbering remains consistent throughout this section.docs/contributor-info/generator-testing.md (2)
1-2
: Enhanced Readability with Spacing
The addition of a blank line immediately after the header improves the visual structure of the document.
13-14
: Clear Additional Apps Configuration
The note about specifying additional apps in therakelib/examples_config.yml
file is clear and informative. This change adds useful context for users configuring generated apps.lib/generators/react_on_rails/templates/.eslintrc (1)
2-2
: ESLint Configuration Update
The modification in theextends
property—removing the extra space after the colon and updating the list of configurations—enhances clarity. The deliberate removal of theprettier/react
extension aligns with the updated linting strategy.docs/javascript/node-dependencies-and-npm.md (2)
7-7
: Refined Dependency Upgrade Instructions
The revised sentence at line 7 now succinctly instructs on upgrading package versions using Yarn, which improves clarity and readability.
12-13
: Improved Section Separation
The insertion of an extra blank line before the "Typically, you can add your Node dependencies..." section helps visually separate the topics, enhancing overall document readability.lib/react_on_rails/helper.rb (1)
35-35
: Improve Comment Clarity and Consistency.
The change updating the comment to reference “README.md” for registering React components is a minor but welcome improvement that enhances readability and consistency in documentation.lib/generators/USAGE (1)
3-4
: Standardize Terminology for Improved Readability.
The updated description now correctly capitalizes “Webpack” and “Rails,” which enhances clarity and aligns with industry standards. This small but effective change improves the documentation’s overall professionalism..github/PULL_REQUEST_TEMPLATE.md (1)
8-17
: Refined Markdown Formatting.
The adjustments in this template—such as the removal of an extra space and the addition of a blank line before the checklist—greatly improve the structure and readability of the document. This makes it easier for contributors to follow the checklist.docs/additional-details/tips-for-usage-with-sp6.md (1)
9-13
: Enhanced Table Formatting for Improved ReadabilityThe re‐formatted markdown table clearly maps the references between Shakapacker 7 and Shakapacker 6 configuration files. This adjustment makes it easier for users to quickly identify which file has the equivalent counterpart.
docs/guides/react-on-rails-overview.md (2)
5-6
: Standardized Horizontal Rule UsageReplacing the previously longer hyphen sequence with a standard
---
horizontal rule creates a cleaner separation between sections. This small change improves overall consistency and readability.
25-28
: Improved Section SeparationThe addition of a horizontal rule before the "Prerequisites" section (and the corresponding blank line) clearly delineates that part of the document. This makes the flow easier to follow.
CHANGELOG.md (2)
1-7
: Enhanced Changelog Readability Through Improved SpacingThe extra blank lines and more consistent spacing throughout the changelog now provide a clearer visual hierarchy. This makes it easier for developers to track and digest the recorded changes.
27-35
: Consistent Formatting Across SectionsThe updated spacing and uniform heading styles across version updates and subsections improve overall navigation and readability. Great job standardizing these elements.
docs/guides/rspec-configuration.md (6)
1-3
: Improved Spacing for Enhanced ReadabilityInserting blank lines at the top of the document—including before the minitest link—creates a less cluttered and more reader‐friendly layout for users new to the configuration steps.
16-18
: Clear YAML Code Block FormattingSpecifying the language (
yml
) in the YAML code block now allows proper syntax highlighting, which makes it easier for readers to parse the configuration settings.
32-35
: Proper Ruby Code Block UsageThe Ruby code snippet that follows now benefits from syntax highlighting, enhancing its clarity and ensuring that readers quickly understand the configuration example provided.
41-46
: Well-Formatted Example for Webpack Asset CompilationThe Ruby example demonstrating how to configure RSpec to compile webpack assets is clearly formatted. This practical snippet serves as an excellent guide for developers to set up their test environment correctly.
50-57
: Improved Instructional List FormattingThe bullet list detailing key considerations is now clearly presented. The use of hyphenated points and proper breaks aids in readability and ensures that none of the important configuration tips are overlooked.
60-71
: Standardized Configuration InstructionsThe Ruby configuration block in the latter part of the document is now standardized and easy to follow. Its placement and formatting make it straightforward for developers to implement the necessary settings.
docs/guides/webpack-configuration.md (1)
27-27
: Consistent Emphasis FormattingChanging the italic style for “advantage” from asterisks to underscores aligns this document with similar updates in related files and helps maintain a consistent style throughout the documentation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~27-~27: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...s very little code needed to get started and you don't need to understand really any...(COMMA_COMPOUND_SENTENCE)
docs/guides/minitest-configuration.md (1)
8-12
: Formatting Adjustment in Test Setup BlockThe removal of the extra space before the
end
keyword (line 12) improves clarity and aligns the test setup block with Ruby style conventions.docs/javascript/webpack-v1-notes.md (1)
10-10
: Section Separation ImprovementAdding a blank line before the "Entry Points" header (line 10) provides better visual separation between sections, thereby enhancing readability.
docs/misc/articles.md (2)
5-9
: Consistent List Formatting in Articles SectionThe adjustments to the list items, including the removal of the trailing period on the last article link, create a uniform appearance for the Articles section.
13-21
: Improved Indentation for Videos SectionThe revised leading spaces for the list items (including both top-level and nested items) in the Videos section enhance the document’s structure and readability.
docs/additional-details/migrating-from-react-rails.md (1)
21-21
: Formatting Correction in Bundle Naming DescriptionRemoving the extra space in the description of
client-bundle.js
andserver-bundle.js
(line 21) clarifies the text and maintains consistency in document formatting.lib/generators/react_on_rails/templates/base/base/config/shakapacker.yml (1)
40-40
: YAML Formatting StandardizationThe adjustment on line 40 – removing the extra space within the brackets for
allowed_hosts
– standardizes the YAML formatting and keeps it consistent with other similar configuration entries.docs/home.md (4)
3-4
: Add Blank Line for Improved Readability.
The inserted blank line before the "Details" section clearly separates the header from the content, enhancing readability.
13-14
: Section Separation Improvement.
Adding a blank line before the "Changes and Upgrades" section helps visually group the content and improve clarity.
19-20
: Enhanced "Example Apps" Section Formatting.
The blank line and slight reformatting in this section create a clear visual break after the header, which aids in navigation through examples.
25-26
: Consistent Section Formatting.
The additional blank line before the "Other Resources" section improves the overall document flow and visual clarity.lib/tasks/assets.rake (1)
29-31
: Standardizing Casing for Consistency.
Changing “webpack” to “Webpack” in the warning message aligns with the project’s capitalization style, thereby improving consistency and readability.docs/javascript/capistrano-deployment.md (5)
5-6
: Section Separation Enhancement.
The insertion of a blank line before the instructions for editing the Gemfile improves the content grouping and overall readability.
7-11
: Consistent Code Block Formatting in Ruby Example.
The formatting for the Ruby code block now follows best practices; the code is clearly delineated and easy to read.
12-13
: Improved Instruction Grouping.
The additional blank line before the subsequent Bundler instructions provides a clear separation between different setup steps.
15-17
: Consistent Shell Code Block Formatting.
The shell code block is now properly formatted, which makes it easier to copy, paste, and understand the installation process.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
16-16: Dollar signs used before commands without showing output
null(MD014, commands-show-output)
19-24
: Standardized Code Block for Capfile Changes.
The Capfile snippet is presented in a clean, consistent format, which aids in quickly grasping the necessary changes.docs/deployment/elastic-beanstalk.md (2)
3-4
: Clear Deployment Prerequisites.
The slight rewording and spacing in lines 3–4 help underscore the need to have yarn installed on each instance. This lays out the deployment prerequisite more clearly.
47-47
: Additional Guidance on Nginx Setup.
The extra note explaining that the React app’s JavaScript files reside underpublic/packs
and advising on the necessary nginx configuration is clear and useful.docs/javascript/troubleshooting-when-using-webpacker.md (1)
8-9
: Enhanced Error Section Separation.
The addition of a blank line before the error message helps in clearly differentiating the context from the actual error details.knip.ts (1)
18-18
: Code style improvementThe change simplifies the
ignore
array representation to a cleaner single-element array format.docs/javascript/react-helmet.md (1)
4-4
: Improved document readabilityThe addition of blank lines before and after sections, code blocks, and examples enhances readability without changing any functionality.
Also applies to: 9-9, 12-12, 26-26, 38-38, 47-47, 57-57, 71-71, 82-82, 91-91, 94-94, 106-106
CONTRIBUTING.md (1)
3-5
: Enhanced documentation structureThe addition of blank lines throughout the document creates better visual separation between sections, bullet points, and code blocks, making the document more readable and scannable.
Also applies to: 8-11, 21-35, 38-38, 49-49, 59-59, 80-84, 105-105, 114-114, 121-121, 185-185, 189-189, 205-205, 231-231, 237-237, 246-246, 258-258, 265-265
docs/javascript/angular-js-integration-migration.md (1)
6-7
: Improved markdown formattingThe changes enhance readability through better section spacing and consistent emphasis formatting (changing asterisks to underscores for emphasis).
Also applies to: 10-10, 27-27
🧰 Tools
🪛 LanguageTool
[grammar] ~7-~7: The word “setup” is a noun. The verb is spelled with a space.
Context: ...ave not already done this, then you can setup theReactOnRails
default JS code dire...(NOUN_VERB_CONFUSION)
[style] ~7-~7: Did you mean ‘different from’? ‘Different than’ is often considered colloquial style.
Context: ...inclusion this way will be no different than using the Rails asset pipeline. However...(DIFFERENT_THAN)
docs/rails/rails-engine-integration.md (3)
3-4
: Clarify Engine Initializer Instruction
The added instruction “- At the top ofconfig/initializers/react_on_rails.rb
” clearly tells users where to place their code. This improves readability and maintains consistency.
11-12
: Clear Gemspec Dependency Instruction
The new line “- In your<engine_name>.gemspec
:” helps users quickly locate where to add the dependency. The accompanying code snippet is self-explanatory.
17-18
: Specify Engine Entry Point Requirement
The instruction “- In yourlib/<engine_name>.rb
(the entry point for your engine)” is a valuable addition that reinforces where the engine’s entry point should require React On Rails..github/workflows/rspec-package-specs.yml (10)
17-19
: Consistent Checkout Step Formatting
The updated checkout step usingactions/checkout@v4
with the explicitpersist-credentials: false
is clear and concise. The indentation improvements enhance readability.
20-24
: Readable Ruby Setup Block
The “Setup Ruby” step now clearly uses a matrix-based ternary expression for the ruby version and specifies bundler version “2.5.9”. This change makes the configuration more explicit.
25-33
: Detailed System Information Logging
The “Print system information” block now logs all the key environment details. These changes improve the transparency of the workflow run and aid in troubleshooting.
34-36
: Clear Conversion Script Execution
The step “run conversion script to support shakapacker v6” is now conditionally executed, which is clear and improves maintainability for legacy setups.
37-41
: Effective Caching Configuration
The cache step now uses a clear key based on the hash of the gemspec and the matrix version. This not only improves readability but also enhances cache reliability.
44-49
: Streamlined Git Configuration
The “Git Stuff” step is now clearly grouped with conditional execution for the “oldest” matrix value. The commit message is descriptive enough for suppressing generator warnings.
50-53
: Clear Environment Variable Setup
The step setting the packer version environment variable is straightforward and uses the correct shell syntax to append to$GITHUB_ENV
.
54-54
: Concise Test Execution Command
The “Run rspec tests” command is concise and fits well within the workflow's structure.
55-60
: Artifact Storage for Test Results
Storing test results with a dynamic naming scheme based on the GitHub run ID and job provides clarity and traceability.
61-64
: Artifact Storage for Logs
The final step storing the test log artifact is clearly formatted and ensures that log files are preserved for later inspection.docs/guides/file-system-based-automated-bundle-generation.md (4)
7-8
: Enhanced Nested Entries Explanation
The additional line explaining to “setnested_entries: true
in theshakapacker.yml
file” provides a clear, step‐by‐step instruction that improves overall readability.
40-42
: Clear Location of Generated Files
The updated section explaining where generated files are placed now clearly distinguishes between entrypoint packs and interim server bundles. This additional clarity is very helpful.
45-46
: Updated .gitignore Instruction
The instruction to update the.gitignore
file is now more prominent, aiding users in avoiding accidental commits of generated files.
53-57
: Server Bundle Commit Instruction Improvement
The modified instruction regarding committing changes to the server bundle entrypoint, along with the added import statement example, is clear and actionable.docs/getting-started.md (3)
10-10
: Reordered Example Repository Reference
Changing the list item to “4. Look at github.com/shakacode/react-webpack-rails-tutorial; it's a full-featured example live at www.reactrails.com” helps clarify the order of examples.
72-74
: Improved Configuration Bullet List
The updated bullet list for configuration—covering bothreact_on_rails
andshakapacker
setup—enhances legibility and makes it easier for users to find the relevant instructions.
319-328
: Well-Formatted Server Rendering HTML Example
The server-rendered HTML snippet is now neatly indented and clearly demonstrates the difference from client-side rendering. This visual clarity is very helpful for users troubleshooting their setup.docs/guides/tutorial.md (5)
3-4
: Effective Use of Emphasis in Introduction
The italicized note on lines 3–4 adds a nice visual cue to draw attention to the example repository. This minor formatting tweak enhances the overall readability without sacrificing clarity.
7-8
: Updated Compatibility Note
The updated note indicating compatibility with Ruby 2.7, Rails 7, React on Rails v13, and Shakapacker v7 provides essential version context, which is beneficial for new users.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
7-7: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
319-327
: Clear Server Rendering Example
The modified block showing server-rendered HTML (with proper indentation and element hierarchy) is excellent. It clearly demonstrates the output differences between server and client rendering.
370-373
: Streamlined Procfile.dev Configuration
The updatedProcfile.dev
snippet now explicitly sets the port and binding IP for Cloud9, enhancing clarity for developers using that environment.
378-382
: Enhanced RubyMine Performance Tip
The bullet list under the RubyMine performance tip now reads more clearly. Keeping the generated files andnode_modules
excluded is important for performance, and this formatting makes that recommendation stand out.docs/outdated/rails-assets.md (3)
3-3
: Enhanced Doc Notice for Framework Update
The updated note on line 3 clearly informs readers that the documentation needs an update for Shakapacker/rails‑webpacker usage. This explicit callout boosts clarity.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
3-3: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
9-9
: Clear Extension Explanation for File Loader
The additional clarification on line 9 about retaining the original file extension helps set proper expectations when using the file loader.
16-20
: Improved Guidance with a Problem Statement Introduction
Introducing a pointer to an external article on fingerprinting on line 16 enhances the reader’s context before diving into asset digesting issues.docs/misc/style.md (5)
5-7
: Clear Enumeration of Style Guidelines
The bullet points outlining the use of linters, reference resources, and additional guidelines are concise and improve readability.
11-11
: Valuable External Resource for JavaScript Styling
The addition of the link to the Shakacode JavaScript Style Guide on line 11 is a useful pointer that bolsters the document’s resources.
18-21
: Effective Ruby Coding Standards Section
The bullet points under “Ruby Coding Standards” clearly direct the reader to authoritative resources.
23-27
: Well-Structured JavaScript Standards Section
The succinct listing of JavaScript-related guidelines, complete with links, improves the document’s utility for developers.
33-36
: Informative Sass Coding Standards
The Sass guidelines and GitHub Front End Guidelines are well presented and maintain consistency with the rest of the document..prettierrc (2)
8-8
: Updated Property Name for Clarity
Renaming fromjsxBracketSameLine
tobracketSameLine
(line 8) aligns with recent Prettier practices and improves naming consistency.
10-24
: Well-Defined Overrides for Consistent Formatting
The new override block (lines 10–24) that targets files matching.*rc
, excludes.envrc
, and sets the parser to YAML is a clean and effective configuration update.docs/api/view-helpers-api.md (2)
2-8
: Improved Section Headings and Visual Break
Inserting the "## View Helpers API" header (line 3) along with a separator (---
on line 7) provides a clearer structure and aids readability.
42-43
: Visual Separation Enhances Readability
The added separator on lines 42–43 effectively demarcates content sections, allowing readers to navigate the API details more easily.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (9)
9-11
: Clarified HMR Features
The changes on lines 9–11 now clearly differentiate between hot module replacement and hot-reloading, noting the deprecation of the older react‑hot‑loader. This enhances technical clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
13-15
: Enhanced Instructions for Non-Server Rendering Usage
The reformatted instructions on lines 13–15, emphasizing the absence of server-side rendering (viaprerender: true
), improve clarity for developers configuring their dev server.
21-24
: Improved Segmentation for Server-Side Rendering Setup
The clear delineation of instructions for setups sharing the same Webpack configuration (lines 21–24) guides users effectively.
28-30
: Well-Formatted Code Example for Bundle Configuration
The configuration snippet on lines 28–30 is clearly presented and serves as an excellent reference for settingconfig.same_bundle_for_client_and_server
.
34-36
: Clear Explanation of Inline Settings
The detailed explanation regarding thedev_server.inline
setting in lines 34–36 helps prevent potential misconfigurations and is well articulated.
40-42
: Useful Error Example Listings
The error messages listed (lines 40–42) provide tangible examples for troubleshooting configuration issues, making the documentation more developer-friendly.
67-83
: Solid Plugin Configuration Example
The JavaScript example configuring the ReactRefreshWebpackPlugin (lines 67–83) is clear and well structured. Minor grammatical adjustments in nearby comments could further polish the presentation.
87-95
: Correct Babel Configuration for React Refresh
The Babel configuration snippet (lines 87–95) is concise and correctly filters out false values. No changes needed here.
102-115
: Detailed Environment Configuration List
The list of plugins and version details (lines 102–115) provides valuable context for users troubleshooting compatibility.docs/misc/doctrine.md (1)
11-13
: Positive Formatting for Section Headings
The insertion of a line break (line 12 marker) before the description under “Optimize for Programmer Happiness” improves the clarity and separation between the header and its content.README.md (2)
10-12
: Enhanced Separation with Horizontal Rule
The addition of a horizontal rule (line 10) after the introductory images helps to visually separate the header from the rest of the content. This reinforces readability and structure.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
12-12: Images should have alternate text (alt text)
null(MD045, no-alt-text)
19-24
: Improved “News” Section Format
The “News” section now clearly distinguishes bullet items. The switch from asterisks to italic formatting in the concluding note (line 27) further differentiates content layers.NEWS.md (3)
3-4
: Refined Introductory Text
The introductory sentence on line 3 using underscores for emphasis improves the tone and clarity. It now visually sets the stage for the news history below.
5-10
: Consistent and Clear Bullet Formatting
The reformatting of the individual news entries (lines 5–10) into bullet points makes the historical timeline easier to scan. Just verify that any dates mentioned (e.g. in later entries) are accurate and reflect the intended timeline.🧰 Tools
🪛 LanguageTool
[grammar] ~10-~10: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `r...(NOUN_VERB_CONFUSION)
29-30
: Verify Date Accuracy
A static analysis hint flagged a potential inconsistency in one of the dates (e.g. “November 10, 2025”). Please double-check the dates for historical entries to ensure they are correct and consistent with the intended timeline.🧰 Tools
🪛 LanguageTool
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...(EN_DATE_WEEKDAY_CURRENTYEAR)
docs/outdated/rails-assets-relative-paths.md (5)
39-42
: Consistent String Delimiters in Code Examples
The updates to use single quotes (e.g. on line 40 for theloader
configuration) improve consistency in the code examples. These changes align with common JavaScript style guidelines.
45-49
: Clear JSON Object Syntax for Loader Query
The refactored JSON object style for thequery
configuration (lines 45–49) is much clearer now. Adding the missing commas and using single quotes enhances readability and consistency.
71-73
: Improved Output Path Readability
The specification foroutputPath
(lines 71–73) is now succinct and clear. The trailing comma and single quotes are consistent with the surrounding style.
83-86
: Clear and Consistent Public Path Configuration
The updatedpublicPath
configuration (lines 83–86) reinforces clarity by defining the endpoint from which assets are served. This change is in keeping with modern best practices for webpack configurations.
91-97
: Using the Assets Alias for Component Imports
The code snippet demonstrating how to import assets (lines 91–97) is clear and helpful. The comment that explains the alias usage makes it accessible for readers less familiar with webpack’s configuration.docs/guides/configuration.md (3)
48-55
: Formatting Enhancement in the Rails Configuration BlockThe whitespace adjustment following the
config.rendering_extension = RenderingExtension
line (observed at line 53) helps clarify the separation between configuration groups. This minor cosmetic change improves readability without affecting functionality.
105-109
: Consistent Separation for Server Bundle ConfigurationThe adjustment around the
config.server_bundle_js_file = "server-bundle.js"
setting (line 105–106) uses whitespace to delineate configuration sections more clearly. This improves visual grouping for maintainers.
175-178
: Clear Emphasis for Optional Component Registry SettingThe change following the
config.components_subdirectory = nil
line (line 176) – which now includes a commented example – makes it easier to understand how to enable the feature. This added clarity is beneficial for new contributors.docs/contributor-info/pull-requests.md (4)
1-5
: Improved Section Separation in the ChecklistThe insertion of a blank line following the header in the "Checklist before Committing" section (line 4) enhances the document’s readability by visually separating the header from the checklist items.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: Loose punctuation mark.
Context: ...# Checklist before Committing 1.rake
: runs all linters and specs (you need Do...(UNLIKELY_OPENING_PUNCTUATION)
12-17
: Enhanced List Formatting for Commit ChecklistThe reformatting of the checklist items (lines 12–17) to use a consistent bullet-point style improves clarity. It makes the individual tasks easier to read and follow.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: Possible missing article found.
Context: ...d entry? For non-doc fixes: - Provide changelog entry in the [unreleased section of the...(AI_HYDRA_LEO_MISSING_A)
22-23
: Adjusted Header Level for Commit Message GuidelinesChanging the header for “The seven rules of a great git commit message” from a level-4 header to a level-3 header (line 22–23) increases its prominence, which is likely intended to focus attention on these important guidelines.
40-45
: Refined Link Formatting Under 'Links to other docs' SectionThe updated indentation and the leading plus sign for the reference links (lines 40–45) improve legibility and consistency. This formatting change clearly differentiates the link examples from surrounding text.
.prettierignore (1)
16-23
: Additional Ignore Rules for Specific Configuration FilesAdding entries for
.rubocop.yml
and.eslintrc
, along with explanatory comments (lines 16–23), makes the intent clear. This ensures Prettier won’t misinterpret files that use non-standard syntax, though keep an eye on any unintended side effects in your linting process.docs/guides/streaming-server-rendering.md (4)
120-126
: Clarification of the Initial Streaming SequenceThe enhanced detail in the "What Happens During Streaming" section (lines 121–126) provides a clearer breakdown of the initial HTML shell content. This makes it easier for readers to understand what they should expect during the streaming process.
156-158
: Streamlined JavaScript Snippet for Content ReplacementThe refactoring of the JavaScript snippet to a concise one-liner using
document.getElementById('s0').replaceChildren(...)
(line 157) improves readability. Ensure that this approach is compatible with your target browsers and that it conveys the intended behavior.
166-172
: Expanded Details for 'Ideal Use Cases'The additional bullet item (line 168) emphasizing that pages may fetch data from multiple sources further clarifies the scenarios that benefit from streaming SSR. This makes the guidance more comprehensive.
172-178
: Enhanced Explanation for Progressive EnhancementThe added bullet points under the "Ideal Use Cases" section (lines 174–178) clearly outline how and when progressive enhancement is beneficial. This extra detail aids in understanding the practical advantages and when to adopt streaming server rendering.
PROJECTS.md (2)
1-4
: Clickable Link Introduction for Project SearchThe addition of a clickable link at the top (line 3) immediately directs users to a live project search, which is a nice usability improvement for those exploring examples of React on Rails usage.
10-11
: Emphasized Support MessageItalicizing the support request message (lines 10–11) makes it stand out from the rest of the content and effectively draws attention to the call for support. This formatting choice improves overall readability.
docs/release-notes/15.0.0.md (4)
6-7
: Enhance clarity in the React Server Components section.
The new line breaks and rephrasing improve readability by clearly separating the introductory sentence from the bullet list.
13-14
: Clear introduction to Enhanced Hydration.
The updated heading and explanation now set a distinct context for the improvements in component and store hydration.
23-29
: Improve explanation in Breaking Changes – Component Hydration.
The revised bullet points now provide a more step‐by‐step explanation on how the default settings fordefer_generated_component_packs
andforce_load
have changed. Consider verifying if compound adjectives (if any) should be hyphenated per internal style guidelines.🧰 Tools
🪛 LanguageTool
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...(EN_COMPOUND_ADJECTIVE_INTERNAL)
31-37
: Clarify async behavior of reactOnRailsPageLoaded.
The updated code example and accompanying explanation clearly convey the need to awaitReactOnRails.reactOnRailsPageLoaded()
. This change improves readability and reduces potential misuse in asynchronous contexts.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/upgrading-react-on-rails.md (7)
4-5
: Improve call-to-action visibility.
The new “Need Help Migrating?” section now clearly directs users to contact support for assistance, which enhances user guidance and overall document readability.
12-13
: Clarify legacy gem dependency note.
Rewriting the note about thewebpacker
gem dependency helps set the stage for the migration. This minor rephrasing contributes to clearer historical context for users upgrading to v13.
26-27
: Streamline “Recent Versions” notice.
The added headings and rephrasing in the v12 section provide a concise reminder to users about version prerequisites, which improves document flow.
33-34
: Concise removal instruction for deprecated configuration.
The instruction to removeconfig.symlink_non_digested_assets_regex
is now stated more directly. This change enhances clarity and quick reference for users.
38-41
: Clarify i18n default format change.
The updated note now clearly indicates the migration from the legacy helper setting to the default JSON format. Consider double-checking the term “internalization” if it should be “internationalization” or simply “i18n” for consistency.
56-98
: Revise and structure migration instructions for registered functions.
The detailed enumeration of migration cases now offers more structured guidance:
- Bullet #1 clearly explains when no migration is needed.
- Subsequent bullets for functions taking different numbers of parameters (and their expected behavior) are now explicitly outlined with code examples.
These improvements significantly enhance the clarity and step-by-step guidance for developers upgrading their APIs.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...(COMMA_COMPOUND_SENTENCE)
🪛 markdownlint-cli2 (0.17.2)
64-64: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
102-107
: Enhance the “Broken Example” section for clarity.
The revised code sample highlighting the incorrect export is easier to follow, which in turn helps users understand the necessary changes to address the issue.docs/api/javascript-api.md (8)
24-40
: Standardize function signature for register().
The updated documentation block forregister(components);
now ends the declaration with a semicolon and maintains a consistent style across the API docs. The rich explanation above the signature remains clear and informative.
41-44
: Maintain consistency in registerStore() documentation.
The snippet forregisterStore(stores);
is now uniformly formatted with a semicolon, which improves the overall consistency and readability of the API documentation.
49-58
: Evaluate the getStore() signature formatting.
The change to include parentheses around the default parameter as in
getStore(name, (throwIfMissing = true));
standardizes the API documentation. Please verify that this stylistic change is consistent with similar function declarations elsewhere in the codebase.
60-67
: Enhance clarity for reactHydrateOrRender().
The updated signature and inline documentation now end with a semicolon, reinforcing the streamlined, consistent style applied throughout the API.
69-74
: Consistent formatting for setOptions().
Introducing a semicolon at the end of thesetOptions(options);
declaration improves clarity and aligns with the documentation’s established style guidelines.
76-82
: Clarify the reactOnRailsPageLoaded() API.
The revised declaration with the semicolon now makes it immediately clear that this function returns a promise, which is essential for developers understanding its asynchronous nature.
84-88
: Solidify the authenticityToken() helper signature.
The concise documentation and semicolon termination ensure that the function’s role is immediately understandable, which is critical for users integrating CSRF protection.
90-97
: Clarify the authenticityHeaders() API with default parameter notation.
The change to
authenticityHeaders((otherHeaders = {}));
standardizes the parameter declaration. As withgetStore()
, please confirm that the extra parentheses are intentional and consistent with the project’s style across similar function signatures.lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css (1)
2-3
: Improve CSS indentation for better readability.
Changing the indentation from four spaces to two spaces within the.bright
class enhances consistency with the project’s CSS style guidelines without altering functionality.node_package/src/clientStartup.ts (1)
14-14
: Streamline Promise.all usage in reactOnRailsPageLoaded().
Condensing thePromise.all
call into a single line (i.e.,
await Promise.all([hydrateAllStores(), renderOrHydrateAllComponents()]);
)
improves readability while maintaining the same functionality. This change makes the asynchronous operations easier to scan at a glance.node_package/src/ComponentRegistry.ts (2)
1-1
: Import Statement Formatting Improved
The import on this line has been condensed into a single line, which makes it more succinct and easier to read.
12-12
: Explicit Parentheses for Arrow Function Parameter
Changing the callback from an implicit parameter (e.g.name =>
) to an explicitly parenthesized one ((name) =>
) improves clarity and consistency.node_package/src/Authenticity.ts (1)
12-12
: Improved Object Type Spacing
The change from{[id: string]: string}
to{ [id: string]: string }
enhances consistency and readability of the type declaration..github/workflows/package-js-tests.yml (1)
16-45
: Workflow Step Formatting Enhancements
The reformatting of the steps—including indentations and the consolidation of parameters—improves readability without affecting functionality. In particular, the dynamic node-version assignment in line 22 is clearly expressed..github/workflows/lint-js-and-ruby.yml (1)
13-131
: Reorganized and Consistent Workflow Configuration
The complete reorganization and formatting improvements across the workflow steps significantly enhance clarity and maintainability. All commands and conditions remain functionally equivalent while being easier to follow.docs/guides/how-react-on-rails-works.md (1)
38-38
: Markdown List Formatting Check
The newly introduced line about running a custom command to build webpack bundles now ends with a colon. Please verify that the following numbered list is rendered correctly in all markdown viewers.node_package/src/CallbackRegistry.ts (2)
39-41
: Enhanced Formatting in Console Warning
The multi-line formatting of theconsole.warn
call improves readability by clearly separating the template literal and its message components. This change supports maintainability without altering functionality.
124-125
: Improved Error Message Readability
Reformatting the error message increateNotFoundError
with multi-line string concatenation enhances clarity. The message is now easier to read and maintain while preserving the original content.docs/guides/react-server-rendering.md (2)
6-7
: Enhanced Documentation with Direct Example Link
The new addition providing a direct link to an example webpack setup for server-side rendering enriches the documentation. This helps users quickly access a concrete example, thereby improving the guide’s practical value.
20-24
: Improved Section Structure for Server Rendering Instructions
The slight formatting adjustment of the header and subsequent list items clarifies the steps for server rendering with React on Rails. This reorganization supports better visual separation and readability of the instructions.node_package/src/context.ts (2)
22-23
: Simplified Context Resolution Expression
The removal of unnecessary parentheses in the return statement of thecontext
function results in a more concise and readable expression. The functionality remains intact while the logic is more straightforward.
57-59
: Consistent and Clear Error Logging
Updating the error message in the catch block—changing "rails context" to "Rails context"—improves consistency in error reporting. This minor enhancement makes logs more professional and easier to understand.node_package/src/ReactOnRails.full.ts (4)
3-3
: Consistent Import Style
Consolidating the import of types from./types
and using single quotes aligns with the project’s formatting guidelines and promotes consistency across the codebase.
8-10
: Multi-line Logging for Optimization Notice
Reformatting theconsole.log
statement into a multi-line format makes the optimization message clearer and easier to read. This aids both debugging and future code maintenance.
23-24
: Refined Arrow Function Formatting
AssigningClient.serverRenderReactComponent
using a multi-line arrow function neatly separates the parameter and implementation. This improves readability without changing the underlying behavior.
26-26
: Consistent Export Statement Formatting
Exporting types using single quotes enhances consistency across the file, aligning with the overall code style improvements introduced in this PR..github/workflows/examples.yml (2)
10-32
: Improved YAML Structure and Indentation
The adjusted indentation for the job definition (examples:
) and its associated steps increases the overall clarity of the CI workflow configuration. These formatting changes make the YAML file easier to follow and reduce the likelihood of indentation-related mistakes.
78-88
: Refined Script Formatting in Chrome Version Check
The multi-line script in the step ensuring a minimum required Chrome version now reads more clearly. Better separation of commands within the run block enhances future maintainability and troubleshooting.node_package/src/ReactOnRailsRSC.ts (3)
9-9
: Import statements consolidated nicely.The import statements for
convertToError
andcreateResultObject
have been consolidated into a single line, which improves code organization.
29-30
: Good use of trailing comma.Adding a trailing comma after the last property in an object makes future additions cleaner and reduces unnecessary git diff changes.
32-56
: Well-formatted promise chain.The promise chain has been reformatted for better readability with proper indentation and consistent alignment. The string quotes in the error message have been standardized to single quotes, and the missing comma at the end of the
onError
callback has been added.node_package/src/isRenderFunction.ts (2)
3-3
: Standardized quote usage.Changed from double quotes to single quotes for imports, maintaining consistency with the codebase style.
11-13
: Improved function signature formatting.The function signature has been split across multiple lines with proper indentation and a trailing comma, which enhances readability especially for functions with type annotations.
docs/guides/client-vs-server-rendering.md (1)
3-3
: Standardized emphasis markup.Changed from asterisks to underscores for italics markup, which is consistent with the documentation style across the project.
node_package/src/handleError.ts (3)
15-16
: Improved string concatenation.Using a backslash for line continuation makes it clearer that this is a single continuous string rather than concatenated strings.
23-24
: Consistent string formatting.Same improvement as above, using a backslash for line continuation.
66-66
: Standardized quote usage.Changed from double quotes to single quotes for consistency with the codebase style.
node_package/src/isServerRenderResult.ts (2)
3-10
: Improved function signature and return statement formatting.The return statement is now properly formatted with trailing commas and consistent spacing, which improves readability.
12-15
: Enhanced function signature readability and nullish handling.The function signature has been split across multiple lines for better readability, and the return statement now uses the optional chaining operator (
?.
), which is a more modern and safer approach to checking for properties on potentially null or undefined values.node_package/src/createReactOutput.ts (6)
4-10
: Clean import organization.The reformatted import statements with each type on its own line improves readability by making it easier to scan the imported types.
38-42
: Well-structured console logging.Reformatting the console log statement to use multiple lines with proper indentation enhances readability, especially when logging multiple variables.
44-48
: Consistent logging format.The console log reformatting maintains consistency with the previous logging style change, creating a uniform approach throughout the file.
61-61
: Simplified return statement.The removal of unnecessary parentheses in the return statement makes the code cleaner while maintaining the same functionality.
67-67
: Consistent return style.Similar to line 61, this simplification creates consistency across all return statements in the function.
73-77
: Improved error message formatting.The multi-line error message is now properly indented and formatted, which enhances readability while maintaining the same content.
.github/workflows/main.yml (3)
16-41
: Improved workflow step formatting.The consistent indentation and spacing in the workflow steps enhances readability without changing functionality.
96-169
: Consistent formatting throughout job steps.The reorganization of job steps with proper indentation and spacing improves maintainability, making it easier to understand the workflow structure.
170-214
: Well-structured artifact storage section.The reformatted steps for storing artifacts maintain proper indentation and spacing, creating a cohesive and easy-to-read section.
node_package/src/StoreRegistry.ts (3)
13-13
: Consistent arrow function syntax.Adding parentheses around the parameter in the arrow function maintains consistency with modern JavaScript conventions.
20-23
: Enhanced error message readability.The multi-line formatting of the error message with proper indentation makes it easier to read while maintaining the same content.
42-46
: Improved error message structure.The reformatted multi-line error message enhances readability, particularly for this longer diagnostic message that includes instructions.
node_package/src/ClientSideRenderer.ts (9)
3-3
: Consolidated import statement.The simplified import statement maintains the same functionality while reducing unnecessary line breaks.
25-29
: Properly structured console logging.The multi-line formatting with proper indentation for the console log improves readability, especially when logging multiple arguments.
39-40
: Clear arrow function implementation.Reformatting the arrow function for
getDomId
improves code clarity by placing the return expression on its own line.
51-52
: Enhanced conditional assignment readability.The reformatted conditional expression is easier to read with proper indentation and line breaks.
62-67
: Well-structured Promise chain.The improved formatting of the Promise.all call and its callbacks makes the asynchronous code flow easier to follow.
111-115
: Improved function call formatting.The multi-line structure for the
reactHydrateOrRender
call enhances readability by clearly separating each argument.
125-125
: Simplified error message.The reformatted error message maintains its content while improving readability.
150-154
: Consistent console logging style.The multi-line format for console.info maintains consistency with other logging statements in the file.
183-188
: Improved method signature formatting.Breaking the parameters into separate lines enhances readability for this method with multiple parameters.
node_package/src/buildConsoleReplay.ts (5)
7-8
: Consistent string quoting style.The change from double quotes to single quotes for the 'level' property creates consistency with the project's string style conventions.
14-17
: Enhanced function signature readability.The multi-line format for the function signature makes it easier to read, especially with the long type annotation.
The type annotation has been made more precise with parentheses in
(typeof console)['history']
to properly access the history property of the console's type.
21-21
: Simplified conditional check.The direct check for the array type removes unnecessary nesting while maintaining the same logic.
25-25
: Consistent arrow function syntax.Adding parentheses around the parameter in the map function maintains consistency with modern JavaScript conventions.
52-59
: Consistently formatted default export.The multi-line format for the default export function signature and body maintains consistency with the export function above it.
The improved type annotation
(typeof console)['history']
is correctly applied here as well.node_package/src/ReactOnRails.client.ts (8)
64-69
: Improved Error Messaging inregisterStoreGenerators
.
The error thrown whenstoreGenerators
is null or undefined is now split into multiple lines and provides a more descriptive message. This enhances clarity for any developer reading the error details.
122-139
: RefinedsetOptions
Method for Clarity and Consistency.
The type signature now uses semicolons to separate options, which aligns with the project's style guidelines. Additionally, the error thrown for any remaining unexpected options is clearly formatted using template strings.🧰 Tools
🪛 Biome (1.9.4)
[error] 127-127: Avoid the delete operator which can impact performance.
Unsafe fix: Use an undefined assignment instead.
(lint/performance/noDelete)
[error] 134-134: Avoid the delete operator which can impact performance.
Unsafe fix: Use an undefined assignment instead.
(lint/performance/noDelete)
143-147
: Enhanced Documentation for Page Loaded Behavior.
The multi-line comment describing thereactOnRailsPageLoaded
usage has been reformatted for better readability. The improved indentation and line breaks make it easier to follow the instructions.
248-252
: Improved Readability in therender
Method.
Breaking thereactHydrateOrRender
call into multiple lines makes it clear which arguments are being passed. This change helps future maintainers quickly understand the flow without altering functionality.
278-280
: Consistent Error Formatting inserverRenderReactComponent
.
The multi-line error message now clearly conveys that the server-side functionality is not available in the client bundle, in line with similar error handling seen elsewhere in the file.
288-290
: Uniform Error Message Style instreamServerRenderedReactComponent
.
The restructured error message uses a consistent multi-line format, which aligns it with the error handling style applied in other parts of the file.
305-307
: Improved Error Handling inhandleError
.
The multi-line formatting of the error message enhances clarity and consistency with other similar methods across the file.
350-351
: Consistent Export Statement Formatting.
Changing the export string from double quotes to single quotes ensures consistency with the rest of the codebase’s style conventions.node_package/src/RSCClientRoot.ts (4)
16-20
: Consistent Type Declaration forRSCClientRootProps
.
Appending a semicolon after the type declaration improves consistency in TypeScript syntax and enhances overall readability.
30-30
: Consistent Function Termination increateFromFetch
.
Ending the asynchronous function with a semicolon at line 30 aligns with the project’s style guidelines and maintains consistency across function declarations.
36-36
: Consistent Function Termination infetchRSC
.
Adding a semicolon at the end of thefetchRSC
function ensures that the code adheres to the consistent formatting conventions used throughout the file.
51-73
: Enhanced Readability in theRSCClientRoot
Function Definition.
Breaking the function’s parameters onto multiple lines improves readability, and ending the function with a semicolon is consistent with the rest of the codebase. The formatting changes here clarify the function signature without altering functionality.
dc501d9
to
d45f9b8
Compare
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (66)
docs/contributor-info/generator-testing.md (1)
3-3
: Refine Redundant Phrase in Introductory TextThe phrase “with various different options” includes redundant adjectives. Consider using either “various options” or “different options” to improve clarity and reduce redundancy.
-We create several applications that are examples of running the generator (see [lib/generators/react_on_rails/install_generator.rb](https://github.com/shakacode/react_on_rails/blob/master/lib/generators/react_on_rails/install_generator.rb)) with various different options. +We create several applications that are examples of running the generator (see [lib/generators/react_on_rails/install_generator.rb](https://github.com/shakacode/react_on_rails/blob/master/lib/generators/react_on_rails/install_generator.rb)) with various options.🧰 Tools
🪛 LanguageTool
[style] ~3-~3: This phrase is redundant. Consider writing “various” or “different”.
Context: ...ct_on_rails/install_generator.rb)) with various different options. We can then run tests with the...(VARIOUS_DIFFERENT)
docs/javascript/react-and-redux.md (1)
4-6
: Improve Link Formatting: The multi-line markdown link may inadvertently introduce extra spaces, which can trigger markdownlint (MD039) warnings. For enhanced readability and to conform with best practices, consider combining the link text and URL onto a single line.Example Diff:
-See [Communicate Between Components -](https://web.archive.org/web/20160527122908/https://facebook.github.io/react/tips/communicate-between-components.html). +See [Communicate Between Components](https://web.archive.org/web/20160527122908/https://facebook.github.io/react/tips/communicate-between-components.html).🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
5-5: Spaces inside link text
null(MD039, no-space-in-links)
docs/outdated/webpack-v1-notes.md (1)
7-7
: Enhance Punctuation for ClarityThe updated paragraph on line 7 is much clearer. One minor suggestion: consider adding a comma before the conjunction in the clause “if you just want to depend on Webpack returning a non-zero error code, and you want to see all the errors…” to clearly separate the two independent clauses. This tiny punctuation adjustment will further enhance readability.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... Webpack returning a non-zero error code and you want to see all the errors, rather ...(COMMA_COMPOUND_SENTENCE)
docs/javascript/foreman-issues.md (1)
11-12
: Improve Grammar and Punctuation in Bullet PointRemoving the trailing comma improves readability. Additionally, consider inserting the article "the" before "server" (i.e., change to "when the server was started by
foreman -f Procfile.dev
") to align with standard grammatical usage.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: You might be missing the article “the” here.
Context: ...ailing to finish upload file to S3 when server was started by `foreman -f Procfile.dev...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/webpack-configuration.md (1)
25-26
: Refactor Wording for Clarity and Brevity
The phrase “In order to customize the Webpack configuration, you need to consult with the…” is a bit wordy. Consider simplifying it to improve readability. For example, you could rephrase it as:“To customize the Webpack configuration, consult the webpack configuration.”
This suggestion aligns with the static analysis hints.-Typical Shakapacker apps have a standard directory structure as documented [here](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow the steps in the [basic tutorial](https://www.shakacode.com/react-on-rails/docs/guides/tutorial/), you will see this pattern in action. In order to customize the Webpack configuration, you need to consult with the [webpack configuration](https://www.shakacode.com/react-on-rails/docs/javascript/webpack/). +Typical Shakapacker apps have a standard directory structure as documented [here](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow the [basic tutorial](https://www.shakacode.com/react-on-rails/docs/guides/tutorial/), you'll see this pattern in action. To customize the Webpack configuration, consult the [webpack configuration](https://www.shakacode.com/react-on-rails/docs/javascript/webpack/).🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, yo...(IN_ORDER_TO_PREMIUM)
[style] ~25-~25: This phrase is redundant. Consider writing “consult”.
Context: ... the Webpack configuration, you need to consult with the [webpack configuration](https://www...(CONSULT_WITH)
docs/javascript/capistrano-deployment.md (4)
5-6
: Clarify Gemfile Update Instruction
The sentence “Add the following to development your Gemfile and bundle install.” can be rephrased for improved clarity. For example:-Add the following to development your Gemfile and bundle install. +Add the following to your development Gemfile and then run bundle install.This adjustment will make the instruction more straightforward for users.
13-14
: Improve Bundler Instruction Clarity
The instruction “Then run Bundler to ensure Capistrano is downloaded and installed.” could be clearer. Consider revising it to something like:-Then run Bundler to ensure Capistrano is downloaded and installed. +Then run Bundler (i.e., execute `bundle install`) to ensure that Capistrano is downloaded and installed.This clarification makes the intended action more explicit.
15-17
: Shell Command Block Formatting
The shell command block includes a “$” prompt, which might confuse users during copy-paste (as the prompt isn’t meant to be executed). You might consider removing the “$” or adding a note that explains it as a command prompt.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
16-16: Dollar signs used before commands without showing output
null(MD014, commands-show-output)
25-25
: Enhance Sentence Readability with Punctuation
In the sentence “Webpack consumes a lot of memory so if possible, try increasing the RAM of your server.” adding a comma after “memory” would enhance readability. Consider:-Webpack consumes a lot of memory so if possible, try increasing the RAM of your server. +Webpack consumes a lot of memory, so if possible, try increasing the RAM of your server.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: A comma might be missing here.
Context: ...se of memory. Webpack consumes a lot of memory so if possible, try increasing the RAM ...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/guides/i18n.md (1)
29-35
: Refine NOTE block formatting for enhanced clarity.
The NOTE now effectively warns about potential linting issues if translations are not built. Consider revising the list for better punctuation and flow for a smoother read. For example:- > The fix is either to - > - > 1. run the rake task to build the translations before running the lint command or - > 2. to run the tests first. + > The fix is either to: + > + > 1. run the rake task to build the translations before running the lint command, or + > 2. run the tests first.🧰 Tools
🪛 LanguageTool
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...(WANT_TO_NN)
[uncategorized] ~34-~34: Possible missing comma found.
Context: ...he translations before running the lint command or > 2. to run the tests first. 4. ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/misc/style.md (1)
7-7
: Minor Nitpick: Review Compound Adjective FormattingThe phrase “Anything additional goes next” might be revisited to ensure that—if intended as a compound modifier—it follows proper hyphenation rules. This is a minor stylistic observation.
docs/release-notes/15.0.0.md (3)
15-18
: Enhance "Improved Component Hydration" Section Clarity
The revised section now clearly lists the hydration improvements. For additional readability, consider bolding key phrases (e.g. “hydrate immediately”) or adding extra spacing between bullet points.
27-34
: Review Compound Adjective Usage in "Component Hydration Changes"
The updated changes effectively explain the new configuration defaults and behavior. As noted by static analysis, double-check compound adjective usage—for example, if “full page load” is intended as a modifier, you might consider hyphenating it as “full-page load” for enhanced clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
70-87
: Refine "The Solution" Code Snippet Presentation
The solution section is well structured and the code snippet clearly demonstrates how to explicitly declare store dependencies. As a minor nitpick, consider whether the HTML comments inside the ERB snippet (e.g.,<!-- No need to specify store_dependencies - it automatically depends on SimpleStore -->
) might be better conveyed as external annotations or using ERB comment syntax (<%# ... %>
) to avoid potential confusion.docs/javascript/troubleshooting-when-using-webpacker.md (1)
41-41
: Improve sentence clarity with a subtle punctuation adjustmentThe revised sentence now correctly uses "work fine" for the plural subject and properly capitalizes “Webpack” and “Rails.” For even better readability, consider adding a comma after "At the same time" to enhance the flow of the sentence.
-At the same time dev/prod environments work fine (with extra Webpack calling step outside Rails). +At the same time, dev/prod environments work fine (with extra Webpack calling step outside Rails).🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: Possible missing comma found.
Context: ...in `instance_exec' ... ``` At the same time dev/prod environments work fine (with e...(AI_HYDRA_LEO_MISSING_COMMA)
docs/additional-details/manual-installation-overview.md (4)
18-18
: Suggestion: Clarify package script instructions for consistency.
The modified line now instructs users to create scripts in bothclient/package.json
and the top-levelpackage.json
. For added clarity and active voice, consider rephrasing this instruction. For example:-1. You create scripts in `client/package.json` per the example apps. These are used for building your Webpack assets. Also do this for your top-level `package.json`. +1. Configure your scripts in `client/package.json` as shown in the example apps to build your Webpack assets, and similarly set up your top-level `package.json` if needed.This refactoring would improve readability and consistency.
20-20
: Stylistic Suggestion: Simplify section heading wording.
The static analysis tool suggests that the phrase "outside of /client" is a bit redundant. Consider simplifying it to "outside /client" for improved clarity. For example:-## Rails Steps (outside of /client) +## Rails Steps (outside /client)This small change can help streamline the header.
🧰 Tools
🪛 LanguageTool
[style] ~20-~20: This phrase is redundant. Consider using “outside”.
Context: ...-levelpackage.json
. ## Rails Steps (outside of /client) 1. Addgem "shakapacker"
to...(OUTSIDE_OF)
22-22
: Suggestion: Refine phrasing for clarity in gem instructions.
The updated line correctly replaces "webpacker" with"shakapacker"
. To further enhance readability, consider modifying "load the bundled assets to your layouts" to "inject the bundled assets into your layouts." For example:-... which are used to load the bundled assets to your layouts. +... which are used to inject the bundled assets into your layouts.This subtle change can make the instructions even clearer.
25-25
: Suggestion: Streamline JavaScript configuration instructions.
The instructions in this section are clear, but you might consider a slight rewording to make the intent even more direct. For instance:-1. Configure your top-level JavaScript files for inclusion in your layout. You'll want a version that you use for static assets, and a separate file for any files in your setup that are not part of your Webpack build. The reason for this is for use with hot reloading. If you are not using hot reloading, then you only need to configure your `application.js` file to include your Webpack generated files. +1. Configure your top-level JavaScript files for inclusion in your layout. Use one file for static assets and a separate file for assets not bundled by Webpack—this separation facilitates hot reloading. If hot reloading is not used, simply configure your `application.js` to include the Webpack-generated files.This rephrasing reduces repetition and improves flow.
docs/outdated/rails-assets.md (2)
3-3
: Review the Usage of Emphasized Text for the Update Note
The italicized note on line 3 effectively draws attention to the document's need for an update. However, [markdownlint MD036] suggests that using emphasis in place of a heading may not be ideal if the intent is to indicate a prominently important note. Consider using a subheading (e.g.,### Update
) or a dedicated note block if you want this to stand out as a critical update.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
3-3: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
8-9
: Punctuation Suggestion in the Block Quote
In the block quote on lines 8–9, adding a comma after "By default" may enhance readability according to LanguageTool's suggestion. For example:By default, the filename of the resulting file is the MD5 hash of the file's contents with
the original extension of the required resource.
This small change can help improve the text flow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Did you mean: “By default,”?
Context: ...e other term for this is a "digest". > By default the filename of the resulting file is t...(BY_DEFAULT_COMMA)
docs/javascript/server-rendering-tips.md (1)
30-30
: Nitpick: Consider Adding a Comma for Clarity
To further enhance readability, consider adding a comma after “this” so that the line reads: “Here's an example of this, showing the line numbers that end up callingsetTimeout
:”🧰 Tools
🪛 LanguageTool
[uncategorized] ~30-~30: Possible missing comma found.
Context: ...allsetTimeout
. Here's an example of this showing the line numbers that end up ca...(AI_HYDRA_LEO_MISSING_COMMA)
docs/additional-details/recommended-project-structure.md (2)
67-70
: Enhanced Directory Structure Details:
The updated presentation of the directory structure, including the asset locations for CSS and styling files, is much clearer. For even higher clarity, consider a quick review of the punctuation and formatting of the bullet points.🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...ctory structure 1./client/app/assets
: Assets for CSS for client app. 1. `/cli...(UNLIKELY_OPENING_PUNCTUATION)
72-76
: Refined Advantages List for Webpack Styling:
The bullet list now clearly enumerates benefits such as the use of CSS modules, CSS in JS, and hot reloading. To further polish the tone, you might consider revising adjectives like “super compelling” to maintain a consistent formal style throughout the documentation.🧰 Tools
🪛 LanguageTool
[style] ~75-~75: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... benefits. 1. You can use CSS in JS. 1. You can do hot reloading of your assets. Th...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/guides/rails-webpacker-react-integration-options.md (3)
10-14
: Table Formatting Improvement:
The table outlining integration options has been reformatted for improved readability. Please verify that the header row and separator row contain a consistent number of columns. It appears that the separator row (line 11) includes an extra segment which might lead to misalignment in some markdown renderers.
50-54
: Component Rendering Clarity:
The snippet for obtaining the DOM node, parsing its data attribute, and rendering theHello
component is clearer now. For improved robustness, consider adding a check to ensure that the node exists before attempting to access its attributes.
186-200
: Webpack Sass Loader Configuration:
The diff for adjusting thesourceMapContents
option is clearly presented. It conditionally applies the configuration when HMR is inactive, which can help in troubleshooting and improved readability.
Minor Grammar Note: Consider revising the phrase to "for the sass loader" (i.e., adding "the") to improve grammatical clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass ...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
CHANGELOG.md (1)
1-17
: Enhanced Readability – Spacing and Heading ConsistencyThe added blank lines and overall spacing improvements make the changelog much easier to scan. One suggestion: review the heading level increments (for example, some version sections jump from h2 to h4) to ensure consistency. While versioning may drive some of these choices, a more standardized hierarchy could further improve clarity.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
9-9: Bare URL used
null(MD034, no-bare-urls)
docs/guides/tutorial.md (1)
1-8
: Striking Introductory EmphasisThe introductory note (now italicized) draws attention to the example repository and update information effectively. This emphasis helps set the stage for the tutorial. One minor thought: if this information is critical, you might consider a heading instead of simple italic text—but as is, it effectively differentiates the note.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
7-7: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
docs/deployment/elastic-beanstalk.md (1)
43-46
: Script Instructions with Minor Language TweakThe installation script and its accompanying explanation clearly describe how yarn (and JS dependencies) are installed and how the temporary directory is set up prior to asset precompilation. One small nitpick: on the descriptive line (around line 45) consider inserting the article “a” so that it reads “allowing the precompile task to create temporary files.”
🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
spec/dummy/client/README.md (2)
9-10
: Remove Trailing Punctuation from HeaderThe header “# Running linter:” includes a trailing colon. For consistency with markdown style guidelines (e.g. MD026), consider removing the punctuation.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
9-9: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
21-24
: Fenced Code Block without Language SpecificationThe fenced code block displaying:
yarn global add npm-check-updates
lacks a language tag. Adding one (e.g. “```bash”) would improve syntax highlighting and consistency with our style guidelines.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
21-21: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
21-21: Code block style
Expected: indented; Actual: fenced(MD046, code-block-style)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (1)
101-104
: Final Notes and Fallback InstructionsThe concluding instructions explaining that the browser should reflect both
.js
and.css
changes—and fallback guidance if the plugin fails—improve overall clarity. A tiny suggestion: consider “the browser” instead of “Browser” for grammatical consistency.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ...th.css
changes without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
docs/misc/doctrine.md (1)
55-56
: Clarification Note on Non-Standard Rails PracticesThe statement “By the way, we're not omakase for standard Rails. That would be CoffeeScript.” is now clearer. Consider a minor grammatical tweak if desired, but overall it aids in setting expectations.
docs/guides/file-system-based-automated-bundle-generation.md (4)
180-188
: Refined Example Introduction in Layout SectionThe explanation introducing the Rails view example is clear. To further enhance readability, consider inserting a comma after "For example". For instance:
-For example you can have a Rails view using three components: +For example, you can have a Rails view using three components:🧰 Tools
🪛 LanguageTool
[typographical] ~180-~180: After the expression ‘for example’ a comma is usually used.
Context: ...ry` nor directly add their bundles. For example you can have a Rails view using three c...(COMMA_FOR_EXAMPLE)
207-211
: Simplify Server Rendering DescriptionThe explanation on server and client rendering is a bit wordy. Consider streamlining this section for brevity. For example:
-If server rendering is enabled, the component will be registered for usage both in server and client rendering. In order to have separate definitions for client and server rendering, name the component files as `ComponentName.server.jsx` and `ComponentName.client.jsx`. +If server rendering is enabled, the component will be registered for both server and client rendering. To define separate components, name the files as `ComponentName.server.jsx` and `ComponentName.client.jsx`.This change reduces redundancy and improves clarity.
🧰 Tools
🪛 LanguageTool
[style] ~209-~209: Consider a shorter alternative to avoid wordiness.
Context: ...ge both in server and client rendering. In order to have separate definitions for client an...(IN_ORDER_TO_PREMIUM)
213-215
: Clarify Important Note on Rendering DefinitionsThe Important note currently contains a typographical error in the phrase "you need to the generalized
ComponentName.jsx
file." Consider revising it to:-you need to the generalized `ComponentName.jsx` file. +you need to use the generalized `ComponentName.jsx` file.This correction will enhance readability.
218-219
: Optimize Redundant Phrasing in Bundle Addition NoteThe sentence discussing bundles outside the configured directories could be phrased more concisely. For example, you might consider:
-bundles outside of those directories will have to be manually added to the `Shakapacker.config.source_entry_path` or Webpack's `entry` rules. +Bundles outside those directories must be manually added (via `Shakapacker.config.source_entry_path` or Webpack's `entry` rules).This suggestion minimizes redundancy and improves overall readability.
🧰 Tools
🪛 LanguageTool
[style] ~218-~218: This phrase is redundant. Consider using “outside”.
Context: ...lly added as entrypoints, while bundles outside of those directories will have to be manua...(OUTSIDE_OF)
docs/rails/turbolinks.md (5)
16-16
: Pending TODO Notice
The TODO comment_TODO: Walk through code changes in PR 1620._
remains in the documentation. Before merging, consider addressing or clarifying this TODO so that the document reflects its final state.
27-30
: Improved Explanation on Performance Benefits
The "## Why Turbolinks?" section now emphasizes that switching between Rails HTML controller requests avoids reloading JavaScript and stylesheets, thus potentially enhancing performance. Consider rephrasing the sentence in line 29 for a smoother flow; for example, restructuring the clause after “even if” may improve clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
37-38
: Balanced Pros and Cons Presentation
The "## Why Not Turbolinks" section now presents potential drawbacks more transparently. Note that “TurboLinks” is used with a capital “L” here; consider standardizing to “Turbolinks” for consistency throughout the document.
42-45
: Enhanced Technical Details
The "## More Information" section now offers detailed insights on CSRF tokens and header handling in Turbolinks5. For improved readability, insert a comma before “and” in the CSRF sentence (line 43) to properly separate the independent clauses.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
86-92
: Alternative Approach for Load Event Handling
The update explains that because Turbolinks 5 does not fireturbolinks:load
on the initial page load when usingasync
, a workaround usingdefer
is recommended. The guidance is clear; however, review the punctuation around the explanatory note (especially near line 95) to ensure maximum clarity.NEWS.md (13)
10-10
: Improved Informational Clarity (August 2, 2020)
The August 2, 2020 entry is now formatted to clearly present the announcement. Note that the word “setup” is used as a verb; consider changing it to “set up” for grammatical correctness.🧰 Tools
🪛 LanguageTool
[grammar] ~10-~10: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `r...(NOUN_VERB_CONFUSION)
17-17
: Standardized Version Update (VERSION 9.0.0 shipped!)
The 2017-09-06 entry is formatted consistently; consider reviewing the capitalization of “VERSION” to align with other entries.
19-19
: Detailed Release Note (VERSION 8.1.0 Shipped)
This entry now features enhanced formatting with multiple references. Its level of detail is very informative; if needed, consider breaking long lines for extra clarity.
20-20
: Performance Upgrade Notice (7.0.0 Shipped!)
The 2017-04-25 entry is now more readable. A minor note: check if the phrasing around “breaking change” might benefit from a leading determiner for enhanced clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: A determiner appears to be missing. Consider inserting it.
Context: ...rformance improvements! Please upgrade! Only "breaking" change is that you have to u...(AI_EN_LECTOR_MISSING_DETERMINER)
29-29
: Event Date Verification Needed
The 2016-11-03 entry detailing a talk at LA Ruby includes “Thursday, November 10” which may warrant a review for date–weekday consistency. Please verify that the day and date align correctly for the stated year.🧰 Tools
🪛 LanguageTool
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...(EN_DATE_WEEKDAY_CURRENTYEAR)
34-34
: Duplicate Documentation Gitbook Entry?
There appears to be a second entry for the Documentation Gitbook on 2016-08-27. Please confirm if this repetition is intentional or if one of the duplicates should be removed.
35-35
: Duplicate Release Note for v6.1?
The v6.1 release note is listed again on 2016-08-21. Verify whether the repeated entry is deliberate.
38-38
: Release Announcement Tone (6.0.0 Released!)
The 2016-05-24 entry is informative; however, the multiple exclamation points might be toned down for a more formal presentation.
43-47
: Structured Feature List for 4.0.2 Update
The bullet list detailing additional changes (better hot reloading, Turbolinks support, shared redux stores, etc.) is well organized. Consider reducing excessive punctuation (e.g., exclamation marks) to maintain a professional tone.
48-48
: Project Page Announcement
The 2016-02-28 entry regarding the new [Projects page] is informative and friendly. A minor note: check for the proper preposition in “edit the page your project” (perhaps “for your project”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~48-~48: Possible missing preposition found.
Context: ...age](PROJECTS.md). Please edit the page your project or [email us](mailto:contact@sh...(AI_HYDRA_LEO_MISSING_OF)
49-49
: Migration Steps and Changelog Reference
The 3.0.6 shipped entry effectively combines version details and migration instructions. You might consider rewording for extra clarity as suggested by static tools.🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Consider an alternative verb to strengthen your wording.
Context: ...md) for details, and let us know if you see any issues! [Migration steps from 1.x](...(IF_YOU_HAVE_THIS_PROBLEM)
60-60
: Comprehensive Feature Note on Generator Support
The detailed note about generator support for CSS modules and hot reloading is informative. Consider toning down exclamation marks and streamlining the text to avoid overwhelming readers.🧰 Tools
🪛 LanguageTool
[uncategorized] ~60-~60: Possible missing comma found.
Context: ...modules and hot reloading via the Rails server as is demonstrated in the [shakacode/re...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~60-~60: “React” is a proper noun and needs to be capitalized.
Context: ...._ If you did generate a fresh app from react_on_rails and want to move to CSS Module...(A_GOOGLE)
[style] ~60-~60: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 8677 characters long)
Context: ...information. Ping us if you want to help! - ShakaCode...(EN_EXCESSIVE_EXCLAMATION)
61-61
: Coaching and Support Announcement
The entry promoting ShakaCode’s coaching services is clear. For improved consistency, you might consider replacing “plus” with “and”.🧰 Tools
🪛 LanguageTool
[uncategorized] ~61-~61: This expression is usually spelled with a hyphen.
Context: ...hakacode.com) is doing Skype plus Slack/GitHub based coaching for "React on Rails". [Click h...(BASED_HYPHEN)
docs/guides/upgrading-react-on-rails.md (10)
39-42
: Typo and Terminology Correction Recommended
The text currently refers to an "internalization helper." It is likely meant to be "internationalization helper." Correcting this will avoid confusion.
77-83
: Duplicate Code Snippet Alert
There are two consecutive snippets demonstrating the same 2-argument pattern. Consolidating them could reduce redundancy and further streamline the document.
133-133
: Suggestion: Add Comma for Clarity in Custom Webpack Build Guidance
The sentence in the custom webpack build section would benefit from a comma for improved readability.- Custom webpack builds should set this value to true or else no CSS link tags are generated. + Custom webpack builds should set this value to true, or else no CSS link tags are generated.🧰 Tools
🪛 LanguageTool
[uncategorized] ~133-~133: Possible missing comma found.
Context: ...webpack builds should set this value to true or else no CSS link tags are generated....(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...(NOUN_VERB_CONFUSION)
142-146
: Version 11 Upgrade List is Well Documented
The list detailing the changes for upgrading to version 11 is clear. Consider revising the phrasing at line 144 for even greater clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~144-~144: The preposition “by” seems more likely in this position.
Context: ..._RAILS"] usage. You can get all tracing with either specifyingtrace
at your c...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[uncategorized] ~145-~145: Possible missing preposition found.
Context: ...des to enable component and other types caching with React on Rails. ## Upgrading to v...(AI_HYDRA_LEO_MISSING_OF)
157-161
: Benefits Under "Why Webpacker?" Are Clearly Articulated
The bullet points effectively outline the value of Webpacker. A minor punctuation improvement is recommended: consider adding a comma before "as" in line 160 to clearly separate the clauses.- This is 100% a best practice as source maps in production greatly increases the value... + This is 100% a best practice, as source maps in production greatly increases the value...🧰 Tools
🪛 LanguageTool
[uncategorized] ~160-~160: Possible missing comma found.
Context: ...maps in production. This is 100% a best practice as source maps in production greatly in...(AI_HYDRA_LEO_MISSING_COMMA)
163-165
: Improve Clarity in "Integrating Webpacker" Section
The section explains the benefits well; however, correct "it's extra minification" to "its extra minification" and consider a slight punctuation adjustment for smoother reading.- ...bypass the Rails asset pipeline and it's extra minification, enabling you to use source-maps... + ...bypass the Rails asset pipeline and its extra minification, enabling you to use source-maps...🧰 Tools
🪛 LanguageTool
[uncategorized] ~165-~165: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ndles to bypass the Rails asset pipeline and it's extra minification, enabling you t...(COMMA_COMPOUND_SENTENCE)
171-175
: Clarify Incomplete Instruction in Bullet List
In the bullet list under "…while keeping yourclient
directory", the instruction beginning with "Search your codebase for javascript_include_tag. Use the" appears incomplete. Please clarify or complete the instruction to ensure the intended guidance is fully conveyed.🧰 Tools
🪛 LanguageTool
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... yourclient
directory -.gitignore
: add/public/webpack/*
-Gemfile
: bu...(UNLIKELY_OPENING_PUNCTUATION)
179-179
: Punctuation Suggestion in Webpacker Config Instructions
Adding commas in the sentence will help improve its clarity.- I recommend setting dev_server.hmr to false however since HMR is currently broken. + I recommend setting dev_server.hmr to false, however, since HMR is currently broken.🧰 Tools
🪛 LanguageTool
[uncategorized] ~179-~179: A comma might be missing here.
Context: ...commend setting dev_server.hmr to false however since HMR is currently broken. - `clien...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
215-216
: Minor Punctuation Consistency Suggested for File/Image Loader Note
The instruction regarding changes for referencing files or images with loaders is clear, though standardizing punctuation (e.g., the use of commas) may improve consistency.
296-320
: Thorough Instructions for Updating webpacker_lite to webpacker
The steps for renaming and configuringwebpacker_lite.yml
towebpacker.yml
are extensive and clear. Note: the phrase "webpacker webpacker setup" appears to be a duplication; consider revising to "webpacker setup."🧰 Tools
🪛 LanguageTool
[duplication] ~300-~300: Possible typo: you repeated a word.
Context: ...packer.yml - If you are not using the webpacker webpacker setup, be sure to put in `compile: fals...(ENGLISH_WORD_REPEAT_RULE)
[uncategorized] ~319-~319: You might be missing the article “the” here.
Context: ...dummy/config/webpacker.yml. - Remove keys
hot_reloading_hostand
hot_reloading...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (46)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(19 hunks)NEWS.md
(1 hunks)README.md
(4 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(1 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/view-helpers-api.md
(8 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(2 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/getting-started.md
(8 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(6 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(1 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(6 hunks)docs/guides/tutorial.md
(12 hunks)docs/guides/upgrading-react-on-rails.md
(13 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(2 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-router.md
(2 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(2 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(1 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/turbolinks.md
(3 hunks)docs/release-notes/15.0.0.md
(3 hunks)lib/generators/USAGE
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/ReactOnRails.client.ts
(7 hunks)node_package/src/context.ts
(2 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(3 hunks)
✅ Files skipped from review due to trivial changes (2)
- spec/dummy/Procfile.dev-static
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
🚧 Files skipped from review as they are similar to previous changes (13)
- lib/generators/USAGE
- docs/javascript/troubleshooting-when-using-shakapacker.md
- lib/react_on_rails/helper.rb
- docs/additional-details/updating-dependencies.md
- node_package/src/context.ts
- lib/tasks/assets.rake
- docs/javascript/react-router.md
- docs/javascript/webpack.md
- docs/guides/client-vs-server-rendering.md
- docs/api/view-helpers-api.md
- docs/misc/tips.md
- node_package/src/ReactOnRails.client.ts
- .github/workflows/main.yml
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md
9-9: Bare URL used
null
(MD034, no-bare-urls)
245-245: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
427-427: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
428-428: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
452-452: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
617-617: Bare URL used
null
(MD034, no-bare-urls)
621-621: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
745-745: Spaces inside link text
null
(MD039, no-space-in-links)
750-750: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
753-753: Spaces inside link text
null
(MD039, no-space-in-links)
761-761: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
767-767: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
780-780: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
796-796: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
798-798: Bare URL used
null
(MD034, no-bare-urls)
803-803: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
809-809: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
834-834: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
838-838: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
844-844: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
854-854: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
860-860: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
866-866: Spaces inside link text
null
(MD039, no-space-in-links)
870-870: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
876-876: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
887-887: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
893-893: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
899-899: Bare URL used
null
(MD034, no-bare-urls)
908-908: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
914-914: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
926-926: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
936-936: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
961-961: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
967-967: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
975-975: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
985-985: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
995-995: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
1009-1009: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
1015-1015: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1021-1021: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1028-1028: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1036-1036: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1042-1042: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1060-1060: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1066-1066: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1072-1072: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1074-1074: Spaces inside link text
null
(MD039, no-space-in-links)
1078-1078: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1087-1087: Spaces inside link text
null
(MD039, no-space-in-links)
1093-1093: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1099-1099: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1105-1105: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1111-1111: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1117-1117: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1123-1123: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1183-1183: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1197-1197: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1207-1207: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1239-1239: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1245-1245: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1251-1251: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1257-1257: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1290-1290: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1296-1296: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1302-1302: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1309-1309: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1317-1317: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1323-1323: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1329-1329: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1373-1373: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1381-1381: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1387-1387: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1399-1399: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1433-1433: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1452-1452: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1461-1461: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1467-1467: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
1473-1473: Bare URL used
null
(MD034, no-bare-urls)
1476-1476: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1494-1494: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1504-1504: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1524-1524: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
docs/additional-details/recommended-project-structure.md
32-32: Trailing punctuation in heading
Punctuation: '.'
(MD026, no-trailing-punctuation)
docs/guides/tutorial.md
7-7: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
25-25: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
docs/javascript/capistrano-deployment.md
16-16: Dollar signs used before commands without showing output
null
(MD014, commands-show-output)
docs/javascript/react-and-redux.md
5-5: Spaces inside link text
null
(MD039, no-space-in-links)
docs/outdated/rails-assets.md
3-3: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
docs/rails/turbolinks.md
93-93: Bare URL used
null
(MD034, no-bare-urls)
spec/dummy/client/README.md
9-9: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
21-21: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
21-21: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
25-25: Fenced code blocks should have a language specified
null
(MD040, fenced-code-language)
25-25: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
🪛 LanguageTool
NEWS.md
[grammar] ~10-~10: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `r...
(NOUN_VERB_CONFUSION)
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...v12**. 1. React Hooks Support for top level components 2. Typescript bindings...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~20-~20: A determiner appears to be missing. Consider inserting it.
Context: ...rformance improvements! Please upgrade! Only "breaking" change is that you have to u...
(AI_EN_LECTOR_MISSING_DETERMINER)
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...
(EN_DATE_WEEKDAY_CURRENTYEAR)
[uncategorized] ~37-~37: Possible missing comma found.
Context: ...with a critical fix if you are fragment caching the server generated React. - 2016-05-2...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~48-~48: Possible missing preposition found.
Context: ...age](PROJECTS.md). Please edit the page your project or [email us](mailto:contact@sh...
(AI_HYDRA_LEO_MISSING_OF)
[style] ~49-~49: Consider an alternative verb to strengthen your wording.
Context: ...md) for details, and let us know if you see any issues! [Migration steps from 1.x](...
(IF_YOU_HAVE_THIS_PROBLEM)
[uncategorized] ~60-~60: Possible missing comma found.
Context: ...modules and hot reloading via the Rails server as is demonstrated in the [shakacode/re...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~60-~60: “React” is a proper noun and needs to be capitalized.
Context: ...._ If you did generate a fresh app from react_on_rails and want to move to CSS Module...
(A_GOOGLE)
[style] ~60-~60: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 8677 characters long)
Context: ...information. Ping us if you want to help! - ShakaCode...
(EN_EXCESSIVE_EXCLAMATION)
[uncategorized] ~61-~61: This expression is usually spelled with a hyphen.
Context: ...hakacode.com) is doing Skype plus Slack/GitHub based coaching for "React on Rails". [Click h...
(BASED_HYPHEN)
README.md
[style] ~87-~87: Style-wise, it’s not ideal to insert an adverb (‘conditionally’) in the middle of an infinitive construction (‘to render’). Try moving the adverb to avoid split infinitives.
Context: ...lient-and-server-rendering/1352) - [How to conditionally render server side based on the device type](https://forum...
(SPLIT_INFINITIVE)
docs/additional-details/generator-details.md
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ...f functionality is given its own folder inside of app/javascript/app/bundles
. This enco...
(OUTSIDE_OF)
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: - startup
: contains the entry point files for webp...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...or decreased bundle size. - containers
: contains "smart components" (components...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). - components
: contains "dumb components", or componen...
(UNLIKELY_OPENING_PUNCTUATION)
docs/additional-details/manual-installation-overview.md
[style] ~20-~20: This phrase is redundant. Consider using “outside”.
Context: ...-level package.json
. ## Rails Steps (outside of /client) 1. Add gem "shakapacker"
to...
(OUTSIDE_OF)
docs/additional-details/recommended-project-structure.md
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline? It depends! Here's a good discussion of this option: [Why does Ra...
(GOOD_CONSTRUCTIVE)
[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...ctory structure 1. /client/app/assets
: Assets for CSS for client app. 1. `/cli...
(UNLIKELY_OPENING_PUNCTUATION)
docs/contributor-info/generator-testing.md
[style] ~3-~3: This phrase is redundant. Consider writing “various” or “different”.
Context: ...ct_on_rails/install_generator.rb)) with various different options. We can then run tests with the...
(VARIOUS_DIFFERENT)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...
(EN_EXCESSIVE_EXCLAMATION)
docs/contributor-info/pull-requests.md
[uncategorized] ~5-~5: Loose punctuation mark.
Context: ...# Checklist before Committing 1. rake
: runs all linters and specs (you need Do...
(UNLIKELY_OPENING_PUNCTUATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...
(A_GOOGLE)
[uncategorized] ~142-~142: You might be missing the article “the” here.
Context: ...nents running on the server side versus client side. For example, if you have an anima...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~144-~144: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/file-system-based-automated-bundle-generation.md
[typographical] ~180-~180: After the expression ‘for example’ a comma is usually used.
Context: ...ry` nor directly add their bundles. For example you can have a Rails view using three c...
(COMMA_FOR_EXAMPLE)
[style] ~209-~209: Consider a shorter alternative to avoid wordiness.
Context: ...ge both in server and client rendering. In order to have separate definitions for client an...
(IN_ORDER_TO_PREMIUM)
[style] ~218-~218: This phrase is redundant. Consider using “outside”.
Context: ...lly added as entrypoints, while bundles outside of those directories will have to be manua...
(OUTSIDE_OF)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~19-~19: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ... server-side rendering, then you have a couple options. The recommended technique is to have a...
(PLENTY_OF_NOUNS)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... }), ); } ``` We added overlay.sockPort
option in `ReactRefres...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...fig/shakapacker.yml`. This makes SockJS works properly and fixes this error in browse...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... works properly and fixes this error in browser console: `GET http://localhost:[port]/s...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ...th .css
changes without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/i18n.md
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...
(WANT_TO_NN)
[uncategorized] ~34-~34: Possible missing comma found.
Context: ...he translations before running the lint command or > 2. to run the tests first. 4. ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the sass ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/tutorial.md
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...t-react-on-rails ``` Note: You can use --database=postgresql
option to use Pos...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~368-~368: A comma might be missing here.
Context: ...ample, to be able to run on free Cloud9 IDE we are putting IP 0.0.0.0 and PORT 8080...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~7-~7: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...nfiguration to a better setup ready for Server Side Rendering. ## Upgrading to v13 ### Br...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~85-~85: Possible missing comma found.
Context: ...ion or class component**. _Migration is needed as the older syntax returned a React El...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~133-~133: Possible missing comma found.
Context: ...webpack builds should set this value to true or else no CSS link tags are generated....
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...
(NOUN_VERB_CONFUSION)
[uncategorized] ~144-~144: The preposition “by” seems more likely in this position.
Context: ..._RAILS"] usage. You can get all tracing with either specifying trace
at your c...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[uncategorized] ~145-~145: Possible missing preposition found.
Context: ...des to enable component and other types caching with React on Rails. ## Upgrading to v...
(AI_HYDRA_LEO_MISSING_OF)
[uncategorized] ~160-~160: Possible missing comma found.
Context: ...maps in production. This is 100% a best practice as source maps in production greatly in...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~165-~165: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ndles to bypass the Rails asset pipeline and it's extra minification, enabling you t...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
- Gemfile
: bu...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ... config/initializers/react_on_rails.rb
: - Delete `config.generated_assets_dir...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~178-~178: The verb ‘Replace’ is plural. Did you mean: “replaces”? Did you use a verb instead of a noun?
Context: ...onfig now supplies this information - Replace `config.npm_build_(test|production)_com...
(PLURAL_VERB_AFTER_THIS)
[uncategorized] ~179-~179: A comma might be missing here.
Context: ...commend setting dev_server.hmr to false however since HMR is currently broken. - `clien...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...urrently broken. - client/package.json
: bump react_on_rails
(I recommend bump...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~225-~225: This phrase is duplicated. You should probably use “Run Run” only once.
Context: ...rade RoR in the client/package.json
- Run bundle
- Run rails webpacker:install
- Run rails webpacker:install:react
- Run rails g react_on_rails:install
- Move...
(PHRASE_REPETITION)
[formatting] ~269-~269: These punctuation marks differ from each other. Use only one if you are ending a sentence.
Context: ...name,** unless the bundle is server side.: ``` const webpackConfigLoader ...
(DOUBLE_PUNCTUATION_PREMIUM)
[duplication] ~300-~300: Possible typo: you repeated a word.
Context: ...packer.yml - If you are not using the webpacker webpacker setup, be sure to put in `compile: fals...
(ENGLISH_WORD_REPEAT_RULE)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, yo...
(IN_ORDER_TO_PREMIUM)
[style] ~25-~25: This phrase is redundant. Consider writing “consult”.
Context: ... the Webpack configuration, you need to consult with the [webpack configuration](https://www...
(CONSULT_WITH)
docs/home.md
[grammar] ~22-~22: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `s...
(NOUN_VERB_CONFUSION)
docs/javascript/capistrano-deployment.md
[uncategorized] ~25-~25: A comma might be missing here.
Context: ...se of memory. Webpack consumes a lot of memory so if possible, try increasing the RAM ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: You might be missing the article “the” here.
Context: ...ailing to finish upload file to S3 when server was started by `foreman -f Procfile.dev...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/javascript/server-rendering-tips.md
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~30-~30: Possible missing comma found.
Context: ...all setTimeout
. Here's an example of this showing the line numbers that end up ca...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/troubleshooting-when-using-webpacker.md
[uncategorized] ~41-~41: Possible missing comma found.
Context: ...in `instance_exec' ... ``` At the same time dev/prod environments work fine (with e...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/misc/doctrine.md
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...
(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...
(ALTOGETHER)
[uncategorized] ~33-~33: The verb “is” doesn’t seem to fit in this context, “are” is probably more formally correct.
Context: ...h the many parts of an application that is the same or very similar to all the oth...
(AI_HYDRA_LEO_CPT_IS_ARE)
[uncategorized] ~63-~63: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: .... ES6 is beautiful. React is beautiful. Client side code written with React plus Redux, ful...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~67-~67: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...for Rails (document/database based with lots of business rules), the tight integration ...
(A_LOT_OF)
[uncategorized] ~78-~78: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...p with: - Community suggestions. - New client side tooling, libraries, and techniques. - U...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/misc/style.md
[uncategorized] ~9-~9: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...n. - Anything additional goes next. ## Client Side JavaScript and React - See the [Shakac...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/outdated/rails-assets.md
[uncategorized] ~8-~8: Did you mean: “By default,”?
Context: ...e other term for this is a "digest". > By default the filename of the resulting file is t...
(BY_DEFAULT_COMMA)
docs/outdated/webpack-v1-notes.md
[uncategorized] ~7-~7: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... Webpack returning a non-zero error code and you want to see all the errors, rather ...
(COMMA_COMPOUND_SENTENCE)
docs/rails/turbolinks.md
[typographical] ~11-~11: It seems that a comma is missing.
Context: ... obsolete. # Using Turbo To configure Turbo the following option can be set: `React...
(IN_ORDER_TO_VB_COMMA)
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...ks/issues/28 When loading your scripts asynchronously your components may not be registered c...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: dummy-app-integration-tests (oldest)
🔇 Additional comments (192)
docs/contributor-info/generator-testing.md (2)
5-5
: Enhanced Rake Tasks Description for Shakapacker IntegrationThe update clearly explains the special rake tasks and the new command names (
rake run_rspec:shakapacker_examples
andrake run_rspec:shakapacker_example_basic
). This improves readability and aligns the documentation with current generator functionality.
9-9
: Clear Instructions for Specifying Additional AppsThe added guidance for specifying additional apps using the rakelib/examples_config.yml file enhances clarity. It informs contributors where to look and what to expect, which is great for maintainability and ease of use.
docs/outdated/webpack-v1-notes.md (1)
10-10
: Good Readability Improvement with Blank LineThe addition of a blank line before the "Entry Points" section (line 10) clearly demarcates sections and improves the document's flow. This change enhances readability without affecting the content.
docs/javascript/foreman-issues.md (1)
14-15
: Typo Correction Enhances ConsistencyThe correction from "brake" to "break" addresses the typographical error. This update, along with the overall formatting changes, enhances the consistency and clarity of the documentation.
docs/guides/webpack-configuration.md (3)
27-27
: Improved Emphasis Formatting with Underscores
The change from asterisks to underscores for italicizing “advantage” enhances readability and consistency.
33-33
: Enhanced Clarity with Updated Preposition
Changing the text from “inconfig/shakapacker.yml
” to “fromconfig/shakapacker.yml
” makes the sentence clearer about where the values come from.
41-42
: Consistent List Formatting with Hyphens
Switching the bullet points from asterisks to hyphens promotes consistency with the rest of the documentation and improves overall readability.docs/contributor-info/pull-requests.md (4)
4-4
: Formatting Improvement: Added Blank Line for Better SeparationThe insertion of a blank line immediately after the "## Checklist before Committing" header improves the document’s visual separation and overall readability.
12-17
: Enhanced Bullet-Point Presentation for Non-Doc FixesThe reformatting of the non-doc fixes into a clear bulleted list (using leading dashes) significantly improves clarity. The step-by-step bullet items now guide the reader better through the checklist.
22-23
: Header Level Adjustment Increases EmphasisChanging the header "The seven rules of a great git commit message" from a level-4 (####) header to a level-3 (###) header enhances its prominence, making it easier for readers to locate and use this guidance.
40-44
: Refined Documentation Link GuidelinesThe updated bullet points under the "Links to other docs:" section now clearly distinguish between referencing doc files (using relative URL paths) and source code files (using full URLs). This structured formatting contributes to overall consistency and readability.
docs/javascript/capistrano-deployment.md (2)
1-4
: Header and Introduction Clarity
The header and introductory text now correctly specify the document’s purpose and include improved grammar (e.g. "in the development environment"). This enhances readability overall.
19-23
: Capfile Code Block Verification
The code block showing the addition to the Capfile (require 'capistrano/yarn'
) is clear and formatted consistently with the rest of the document.docs/guides/i18n.md (9)
7-10
: Enhanced code block formatting for i18n_dir configuration.
The Ruby code block now clearly shows the configuration forconfig.i18n_dir
, which improves readability and gives users a clear example.
12-18
: Improved readability in the i18n_yml_dir configuration block.
The revised code block cleanly explains how to override the default YAML file location, enhancing clarity for users.
24-28
: Clear guidance on startup and CI configuration adjustments.
The added instructions on running the rake task before webpack processes (both locally via Procfile and in CI) improve overall readability, making the recommended workflow explicit.
37-40
: Consistent formatting for YAML safe load options.
The configuration snippet forconfig.i18n_yml_safe_load_options
is now neatly presented, aiding user understanding.
45-49
: Consistent formatting for specifying i18n output format.
The Ruby code snippet specifying thei18n_output_format
uses clear and uniform formatting, which aligns well with other examples in the document.
52-59
: Consistent representation of dependency versions in the package.json snippet.
The formatting in this code block is now standardized, which helps in quickly locating and understanding the dependency version information.
63-83
: Improved clarity in the react-intl initialization code block.
The JavaScript snippet now clearly demonstrates the import statements and locale initialization, which enhances readability and serves as a good example for developers.
85-93
: Clear usage pattern for default messages in components.
The code for importingdefaultMessages
and usingformatMessage
is well formatted, making it easier for developers to follow the intended usage of localization in components.
97-99
: Well-structured Notes section.
The Notes section now presents links and additional resources with consistent formatting, making the information accessible and easy to read.docs/misc/style.md (9)
1-2
: Improved Section Header SpacingThe addition of a blank line immediately after the "# Code Style" heading creates a better visual separation and improves the overall readability of the document.
5-7
: Enhanced List Formatting in the Code Style SectionThe newly added bullet points clearly outline the reliance on linters, the reference to existing style guidelines, and provide room for any additional points. This consistent markdown formatting helps the reader quickly understand the key points.
9-11
: Clearer Presentation in the Client Side JavaScript SectionThe insertion of a blank line along with a properly formatted list item ("- See the Shakacode JavaScript Style Guide") enhances the clarity of this section.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~9-~9: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...n. - Anything additional goes next. ## Client Side JavaScript and React - See the [Shakac...(EN_COMPOUND_ADJECTIVE_INTERNAL)
13-16
: Consistent Formatting in 'Style Guides to Follow'Minor spacing adjustments and clear text in this section contribute to a more readable flow. The guidance on following the style guidelines is now easier to follow.
17-21
: Refined Ruby Coding Standards SectionThe new bullet points in the Ruby Coding Standards section effectively highlight both the ShakaCode Ruby Coding Standards and the official Ruby Documentation. This clear, consistent presentation improves user guidance.
22-27
: Improved Markdown in the JavaScript Coding Standards SectionThe addition of clear bullet points and resource links—such as the Shakacode Javascript guide and the eslint-config-shakacode package—enhances readability and consistency.
28-31
: Neat Presentation in the Git Coding Standards SectionThe slight formatting improvements in the Git coding standards section result in a neat and accessible presentation. The change maintains consistency with the other list-based sections.
32-36
: Clear and Consistent Formatting in the Sass Coding Standards SectionThe newly added bullet points for the Sass guidelines and GitHub Front End Guidelines are well formatted and in line with the overall document style, making it straightforward for readers to navigate.
37-42
: Structured Git Usage InstructionsThe "Git Usage" section benefits from a clearer layout with properly formatted bullet points that walk the reader through GitHub flow guidelines, rebase instructions, and CI practices. This improves the instructional clarity for users.
docs/contributor-info/linters.md (12)
2-2
: Minor Formatting Adjustment on Blank LineThe blank line following the header appears to have been adjusted for consistency and readability.
10-11
: Improved RuboCop Directory InstructionThe revised list item for RuboCop now clearly advises users to “be in the correct directory where you have Ruby files,” mentioning that this is “usually the top level of your Rails project.” This makes the instruction more definitive.
12-14
: Enhanced Command Block Formatting for RuboCopAdding a bash-tagged code block for the command
rubocop -a
improves readability and consistency with other command examples.
16-16
: Clear ESLint Directory GuidanceThe updated instruction for ESLint now clearly states to execute the command from the directory containing JS files, which enhances clarity.
18-20
: Consistent Code Block Styling for ESLint CommandThe ESLint command is now enclosed in a bash-tagged code block. This small formatting improvement helps maintain consistency across command examples.
24-26
: Standardized NPM Lint Command FormattingFormatting the npm lint fix command with a bash-tagged code block standardizes its presentation and aligns it with the other command examples.
32-33
: Updated ESLint Reference LinkThe revised text now directly points users to the ESLint website for more details, making the reference more accessible.
36-37
: Improved Documentation Reference for Rules ConfigurationLinking directly to the ESLint rules configuration documentation enhances user guidance and supports a smoother onboarding.
38-38
: Clarification on Rule Severity ConfigurationReplacing numerical severity values with string equivalents (i.e.,
'off'
,'warn'
,'error'
) clarifies the configuration options. This change aids in readability and understanding for contributors.
40-40
: Enhanced Explanation of Additional Rule OptionsThe added explanation—that rules can be configured as an array with the severity followed by additional options—is a helpful clarification to users adjusting linting configurations.
70-70
: Improved Section Header for RuboCopThe updated section header "## RuboCop" now stands out clearly, maintaining consistency with the other sections and reinforcing clarity.
72-72
: Updated RuboCop Reference LinkPointing directly to the RuboCop website provides users with immediate access to comprehensive documentation and is consistent with the updated style guide.
docs/release-notes/15.0.0.md (3)
5-10
: Clarify "React Server Components Support" Section Formatting
The added bullet point ("- Seamlessly use React Server Components") and adjusted line breaks improve readability. Verify that the bullet list style and spacing are consistent with other sections throughout the document.
36-48
: Improve Async Function Usage Explanation
The instructions for usingReactOnRails.reactOnRailsPageLoaded()
as an async function are now clearer with the before/after example. To further improve readability, consider distinguishing the code block from the descriptive text (e.g. by adding a brief introductory sentence above the code block).
65-69
: Validate "The Problem" Section Readability
The description of Redux store dependency issues is clearly laid out with bullet points. The flow is logical and the revised formatting effectively emphasizes the problem.docs/javascript/troubleshooting-when-using-webpacker.md (1)
9-12
: Enhance error log formatting with explicit text code blockThe addition of the
text
keyword in the code fence now clearly indicates that the enclosed error message should be rendered as plain text. This minor change improves readability by preventing unwanted syntax highlighting and ensuring the error message is displayed as intended.docs/additional-details/manual-installation-overview.md (2)
21-21
: Approved: Enhanced spacing for improved visual separation.
The inserted blank line after the "Rails Steps" header aids readability by clearly demarcating the upcoming section.
26-26
: Approved: Improved Heroku deployment documentation reference.
The updated line correctly capitalizes "Heroku" and provides a clear link to the deployment documentation, enhancing both accuracy and readability.docs/outdated/rails-assets.md (2)
15-17
: Improved Section Separation
The addition of a blank line after the "## The Problem" header (noted on line 16) improves the visual separation between the header and the following content, thereby enhancing readability.
36-39
: Clarification of Deprecated Solution Note
The newly added note under "## The Solution: Symlink Original File Names to New File Names" clearly communicates that the symlink solution was removed in v14 and encourages users to create a GitHub issue if they require it. This additional context is a helpful readability improvement.docs/javascript/server-rendering-tips.md (8)
6-8
: Enhanced Terminology in General Tips
The modified lines improve readability by standardizing terms (e.g., using “libraries” instead of “libs”) and reinforcing correct hyphenation in “Server-side JS execution.”
11-13
: Clarified Guidance for Component Propagation
The updated text now clearly explains that the same props are passed to both client- and server-side code and recommends using a Render-Function. This adjustment enhances the clarity of the instructions.🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...(EN_COMPOUND_ADJECTIVE_INTERNAL)
14-14
: Refined Explanation on Entry Points
The revision in this line effectively emphasizes the rationale behind having separate files for client-side and server-side rendering. This helps set the reader’s expectations regarding the added complexity.
19-20
: Improved Troubleshooting Steps
The updated troubleshooting steps now instruct users first to ensure that their code works with server rendering disabled, and then to setconfig.trace
for detailed debugging. This ordered approach increases clarity during diagnosis.
24-24
: Consistent Punctuation in CSS Section
Adding the period at the end of the CSS instruction line improves consistency in documentation style.
28-28
: Refined Polyfill Explanation
This change concisely explains that the methods are polyfilled to be no-ops during server rendering while also indicating that they are logged intrace
mode—improving the technical clarity of the documentation.
30-31
: Clear Example Annotation for setTimeout
Rephrasing the example description now explicitly informs the reader that the following output shows the line numbers callingsetTimeout
, which aids in debugging.🧰 Tools
🪛 LanguageTool
[uncategorized] ~30-~30: Possible missing comma found.
Context: ...allsetTimeout
. Here's an example of this showing the line numbers that end up ca...(AI_HYDRA_LEO_MISSING_COMMA)
32-34
: Verified Command-line Example Format
The command-line example block has been reformatted to clearly separate commands from outputs. This structured presentation improves the overall readability and helps users follow along with the terminal instructions.docs/additional-details/recommended-project-structure.md (10)
5-13
: Enhanced Code Block Formatting:
The fenced code block now uses thetext
language identifier, which avoids unexpected syntax highlighting and better reflects that the content is non-code content (e.g. directory structure). Additionally, the inline comment in line 8 now uses standard spaces instead of non-breaking spaces, improving clarity.
18-18
: Clear Section Heading for Conversion Steps:
The updated header ("## Steps to convert from the generator defaults to use a/client
directory for source code") is concise and immediately informs the reader of the upcoming instructions.
22-24
: Improved Shell Command Block:
Presenting the directory move command within a shell script code block makes the instruction clearer and easier to follow.
28-30
: YAML Code Block Clarity:
The YAML snippet correctly displays the configuration change (source_path: client
), ensuring that users can easily identify and update theirshakapacker.yml
file.
36-38
: Clarified Instruction for Delegating package.json:
The revised instruction now clearly states to create a/package.json
that delegates to/client/package.json
, which enhances the readability of the configuration steps.
44-44
: Enhanced Clarity in ENV Variable Setup:
The note explaining the need to set theSHAKAPACKER_CONFIG
environment variable (and referencing the related GitHub PR) is now more explicit, helping users configure their environment correctly.
48-50
: Refined Discussion on Styling Assets:
The section now poses the question, "Should you move your styling assets to Webpack, or stick with the plain Rails asset pipeline? It depends!" followed by a supportive link. This change improves readability and makes the pros and cons of each approach clearer.🧰 Tools
🪛 LanguageTool
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline? It depends! Here's a good discussion of this option: [Why does Ra...(GOOD_CONSTRUCTIVE)
55-57
: Improved Explanation for "Simple Rails Way":
The updated text clearly explains that handling styling assets using Rails’ standard tools is not a distinct new technique but rather a continuation of familiar processes. This subtle clarification improves the overall readability.
59-61
: Concise Benefits Highlighted for Simple Rails:
The bullet point ("1. Much simpler! There's no change from your current processes.") effectively communicates the advantage of the Simple Rails Way in a straightforward manner.
63-65
: Clarified Description for Webpack-managed Styling:
The explanation of using Webpack to manage styling assets now outlines the necessary customizations clearly. This improved description helps set the reader’s expectations for the steps that follow.docs/guides/rails-webpacker-react-integration-options.md (9)
39-46
: JSX Component Formatting:
TheHello
component now uses parentheses around theprops
parameter and double quotes in JSX, which enhances clarity and consistency. Ensure that identifiers likeclockIcon
are defined or imported as needed.
57-57
: Section Separator Usage:
The horizontal rule effectively separates content sections, contributing to the document’s readability.
112-112
: Reference Link Clarity:
The link to the React Refresh Webpack Plugin is clearly presented, making the reference easy to locate and use.
126-129
: ReactRefreshWebpackPlugin Inclusion:
The code snippet demonstrating how to require the React Refresh Webpack Plugin is clear and well-structured. This inclusion example enhances the overall clarity of the integration instructions.
135-144
: Conditional Plugin Appending:
The example shows how to conditionally append the ReactRefreshWebpackPlugin when running the development server. The indentation and clear conditional logic make the snippet very readable.
151-154
: Installation Command for React Hot Loader:
The shell command for installingreact-hot-loader
and@hot-loader/react-dom
is clearly encapsulated in its own code block, which improves both readability and practical usability.
157-170
: Babel Configuration for React Hot Loader:
The provided Babel configuration example (with thesafetyNet: false
option) is clear and concise, making the instructions easier to follow for developers setting up React Hot Loader.
174-184
: Hot Module Replacement Export Update:
The diff block illustrating the change to wrap theApp
export withhot(App)
is well-documented and straightforward. This change is essential for enabling hot reloading and enhances the clarity of the example.
203-215
: Webpack Environment Alias Adjustment:
The diff block modifying the webpack environment to aliasreact-dom
to@hot-loader/react-dom
is succinct and enhances comprehension. This clear configuration adjustment ensures that React Hot Loader will work properly.docs/getting-started.md (1)
7-11
: List Reordering and HTML Tag UniformityThe reordering of list items (changing the numbering so that the fourth item is now numbered “4”) correctly reflects the intended order. In addition, using a consistent style for HTML-like elements (e.g.
<br />
instead of<br/>
) is a nice touch that improves uniformity throughout the document.docs/home.md (1)
1-8
: Improved Visual Structure with Blank Lines and Consistent CapitalizationThe insertion of blank lines before section headers and the consistent capitalization of “Webpack” significantly boost the document’s readability. The clear and uniformly formatted section titles help the reader navigate the content easily.
docs/guides/tutorial.md (2)
25-46
: Clear and Comprehensive Table of ContentsThe Table of Contents is well organized. The numbering and indentation clearly outline the sections and provide intuitive navigation throughout the tutorial.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
25-25: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
152-170
: Render-Function Example ClarityThe example provided for a render-function (lines 166–172) is clear and well formatted. Including the railsContext as an extra parameter is ideal for enabling access to server-side context. This example directly supports the documentation’s goal of explaining how to use a render-function over (or in addition to) a standard component.
spec/dummy/client/README.md (5)
3-4
: Header Consistency for ESLint SectionThe updated header (“# ESLint”) clearly stands out for easy navigation.
16-17
: Lint Command with AutofixThe command “yarn run lint -- --fix” is clearly presented. No changes needed here.
19-20
: Section Header: Updating Node DependenciesThe header “# Updating Node Dependencies” is clear and well formatted.
26-29
: Running Dependency Update CommandsThe instructions (e.g.
cd client
and subsequent commands) are now clearly separated and easier to follow.
38-40
: Additional Instruction for Node Modules CleanupThe closing instructions:
Then confirm that the hot reload server and the Rails server both work fine. You
may have to deletenode_modules
.enhance clarity. Ensure that the sentence break is intentional and that the guidance is complete.
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (13)
9-11
: Clarification on Optional Hot-ReloadingThe newly added description for “Optional hot-reloading” (including the deprecation note for
react-hot-loader
) is clear and informative. You might consider a brief note on how this differs from standard HMR if it adds value.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
13-15
: Enhanced Emphasis on Server-Side RenderingThe rephrasing to “If you are not using server-side rendering (not using
prerender: true
)” improves readability and clearly emphasizes the condition.
21-22
: Server Rendering Configuration NoteThe note regarding having a different webpack configuration for server rendering is now split over changed lines, which enhances clarity.
23-24
: Consistent Header for Bundle SetupThe header “## If you use the same Webpack setup for your server and client bundles” is well formatted and clearly separates this section.
26-27
: Instruction Update for Rails InitializerThe instruction to set the
config/initializers/react_on_rails.rb
setting is clearly presented.
40-42
: Error Examples for MisconfigurationIncluding the specific error messages for
hmr
andinline
being true is very helpful for troubleshooting.
43-44
: Client-Side Rendering Section HeaderThe header “# Client-Side rendering with HMR using react-refresh-webpack-plugin” is clear and consistent with the new formatting style.
47-48
: Startup Command for HMRThe instruction “To enable the HMR functionality, you have to use
./bin/shakapacker-dev-server
” is concise and clear.
49-60
: Configuration Block for Webpack Dev ServerThe numbered steps and the accompanying YAML code block (with “```yaml”) are now properly formatted. The inline comment regarding the inline setting is helpful.
62-67
: Adding React-Refresh PackagesThe step to add the react-refresh packages is clearly documented, and the fenced Bash code block (“```bash”) is correctly annotated.
68-75
: Integration of ReactRefreshWebpackPluginThe JavaScript snippet configuring the ReactRefreshWebpackPlugin is clear. Minor nitpicks:
- Ensure consistent indentation within the configuration object.
- The use of inline comments is helpful.
Overall, this section is an excellent guide for implementing HMR.
88-89
: Explanation of Overlay ConfigurationThe explanation for setting
overlay.sockPort
is clear and provides useful debugging context (e.g. resolving 404 errors on SockJS).🧰 Tools
🪛 LanguageTool
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... }), ); } ``` We addedoverlay.sockPort
option in `ReactRefres...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...fig/shakapacker.yml`. This makes SockJS works properly and fixes this error in browse...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... works properly and fixes this error in browser console: `GET http://localhost:[port]/s...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
90-98
: Babel Plugin Configuration for React RefreshThe snippet showing the addition of the react-refresh plugin in
babel.config.js
is neatly formatted and self-explanatory.README.md (3)
19-24
: Updated News SectionThe “News” section now features clear, bullet-pointed updates about React on Rails Pro, the successor to
rails/webpacker
, and Rails 7 support. The updates are well formatted and informative.
25-27
: Enhanced Separation with Horizontal Rule and EmphasisThe addition of a horizontal rule followed by an italicized note (“These are the docs for React on Rails 14…”) improves document structure and readability.
29-34
: Consistent Project Description UpdatesThe descriptive sections following the “News” update and subsequent content (e.g. About, Contributing) maintain clarity and formatting consistency.
docs/misc/doctrine.md (6)
11-13
: Improved Readability in "Optimize for Programmer Happiness"The insertion of a line break after the header enhances readability. The list of key components is now easier to follow.
25-27
: Refined Bullet List under "Convention over Configuration"The bullet list now neatly begins on a new line. Consider a brief review of punctuation for consistency across list items.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...(ALTOGETHER)
35-37
: Reformatted "The Menu Is Omakase" SectionRevising the header and the introductory line improves clarity. The phrasing “Here’s the chef’s selection...” adds a creative touch.
38-44
: Enhanced List of LibrariesThe bullet list under “### Libraries” now appears with clearer formatting. Each library is succinctly described; the structure aids readability.
46-49
: Clear Listing for JavaScript ToolingThe updated list under “### JavaScript Tooling” is concise and clearly presented.
57-59
: "No One Paradigm" Section HeaderThe header and accompanying text for the “No One Paradigm” concept are clearly presented and integrated smoothly.
docs/additional-details/generator-details.md (3)
44-45
: Improved Explanation of Client Code OrganizationThe revised description explains how each unique functionality is given its own folder inside
app/javascript/app/bundles
. This strengthens the emphasis on modularity and is much more digestible.🧰 Tools
🪛 LanguageTool
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ...f functionality is given its own folder inside ofapp/javascript/app/bundles
. This enco...(OUTSIDE_OF)
46-48
: Clear Organization of the "HelloWorld" DomainReformatting the “HelloWorld” domain description and the subsequent bullet list detailing the folders improves clarity significantly. The explanation encourages understanding of the project’s modular design.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: -startup
: contains the entry point files for webp...(UNLIKELY_OPENING_PUNCTUATION)
49-51
: Detailed Descriptions for Folder PurposesThe descriptions for the folders (
startup
,containers
, andcomponents
) are now thorough and clear. Each section’s role is well articulated, aiding new developers in project navigation.🧰 Tools
🪛 LanguageTool
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...or decreased bundle size. -containers
: contains "smart components" (components...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). -components
: contains "dumb components", or componen...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/file-system-based-automated-bundle-generation.md (10)
7-8
: Improved Section Formatting After HeadingThe added newline following the "### Enable nested_entries for Shakapacker" heading improves visual separation and overall readability.
21-22
: Clarifycomponents_subdirectory
DescriptionThe updated description clearly explains the purpose of
components_subdirectory
and its role in auto-registering components. The additional spacing contributes positively to readability.
42-46
: Enhanced Readability in Generated Files SectionThe "Location of generated files" section now presents its information with clear bullet points and spacing, which makes the instructions much more accessible.
49-50
: Updated .gitignore InstructionsThe revised instructions for updating the
.gitignore
file are clearer and more directive, thereby helping users to avoid unintentionally committing generated files.
57-65
: Clear Instructions for Server Bundle CommitThe "Commit changes to server bundle entrypoint" section now includes a revised code snippet with the proper import statement. These changes make the guidance on updating version control more explicit and easier to follow.
73-74
: Refined Background Configuration DetailsThe background explanation for
shakapacker.yml
adjustments has been updated for clarity, making it smoother to segue into the subsequent code example.
126-141
: Improved Directory Structure ExampleThe directory structure example has been reformatted into a dedicated code block with consistent indentation, greatly enhancing its clarity and usefulness as a visual guide.
154-160
: Enhanced Layout Code SnippetThe updated layout snippet, which now features clearly separated code blocks for Rails view usage, is much easier to read. This aligns well with the objective of boosting overall readability.
163-179
: Clear Directory Structure for Auto-Generated ComponentsThe detailed directory structure for auto-generated components is now presented in a well-formatted code block with uniform indentation. This makes it easier for users to understand the intended project structure.
189-204
: Enhanced Server Rendering ExampleThe step-by-step example using
react_component_hash
for server rendering is now clearly formatted. This detailed code block helps users grasp the implementation with ease.docs/rails/turbolinks.md (16)
4-4
: Minor Formatting Adjustment
Line 4 shows a slight spacing change that appears intended to improve readability. This minor adjustment is acceptable.
5-7
: Enhanced Contextual References
The updated bullet list now includes direct links to PR 1620 and PR 1374 and clearly states that Turbo (via@hotwired/turbo
) is now preferred as Turbolinks becomes obsolete. This additional context improves the documentation’s clarity.
12-12
: Clear Turbo Option Snippet
The inline code snippet`ReactOnRails.setOptions({ turbo: true })`
explicitly shows how to enable Turbo support. Its placement and formatting aid in understanding the configuration change.
20-24
: Updated Legacy Turbolinks Notice
This section now warns that parts of the legacy documentation may be outdated and recommends either updating to Turbo or removing old Turbolinks references. This clarification helps set proper expectations for users.
32-35
: Clear Requirements Section
The revised requirements list now clearly states:
- Avoid using react-router or be prepared to handle conflicts with Turbolinks.
- Use one JS and one CSS file to prevent integration issues.
This clear, succinct phrasing aids users in understanding practical integration constraints.
47-58
: Reformatted Installation Checklist
The updated install checklist leverages consistent code snippet formatting for including stylesheets and JavaScript. This improves both clarity and consistency, while still preserving the note regarding Turbolinks 2.x usage.
64-67
: Updated Turbolinks 5 Section
The "## Turbolinks 5" section now clearly indicates that React on Rails will automatically detect which version of Turbolinks is in use and adjust event handling accordingly. This update is straightforward and enhances understanding.
74-77
: Modernized NPM Snippet
The revised snippet using ES module syntax:import Turbolinks from 'turbolinks'; Turbolinks.start();is clear and modern, effectively showing how to activate Turbolinks when installed via NPM.
79-85
: Improved Async Script Loading Explanation
The "### Async script loading" section now provides clearer instructions and a properly formatted code snippet for using the async option. This enhancement aids readers in understanding how to load scripts asynchronously in production.
95-101
: Component Reinitialization Guidance
The code snippet demonstrating the use ofdocument.addEventListener('turbolinks:load', function () { ReactOnRails.reactOnRailsPageLoaded(); });provides a practical solution for reinitializing components when scripts load asynchronously. This is a valuable addition for troubleshooting potential issues.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...ks/issues/28 When loading your scripts asynchronously your components may not be registered c...(AI_HYDRA_LEO_MISSING_COMMA)
104-113
: Detailed Troubleshooting Instructions
The "## Troubleshooting" section now details how to set options liketraceTurbolinks
andturbo
via a concise code snippet. This enrichment helps developers diagnose and resolve issues more effectively.
117-120
: Clear Dev Build Definition
The addition of:const devBuild = process.env.NODE_ENV !== 'production';clarifies the distinction between development and production builds, which is useful for conditional configuration in Webpack.
123-129
: Webpack DefinePlugin Update
The new snippet showing how to integrateTRACE_TURBOLINKS
with the Webpack DefinePlugin is clear and informative. It effectively demonstrates how to conditionally enable tracing based on the build environment.
136-140
: Illustrative Logging for Turbolinks Classic
The code block detailing console log outputs for Turbolinks Classic helps set clear expectations about diagnostic messages. This illustrative example is a strong addition for debugging purposes.
142-147
: Enhanced Logging for Turbolinks 5
Similarly, the updated snippet for Turbolinks 5 provides clear guidance on the expected logging behavior, which aids developers in identifying the active Turbolinks version and its event handlers.
149-151
: Additional Note on jQuery and jQuery UJS
The final note—which includes an illustrative image—advises developers to avoid using the RubyGem versions of jQuery and jQuery UJS in favor of the JS packages. This practical tip enhances the usefulness of the documentation.NEWS.md (28)
3-3
: Improved Intro Formatting
The introductory sentence now uses italic formatting, which better sets the tone for the document and aids readability.
5-6
: Enhanced Date Entry Formatting (October 14, 2020)
The formatting for the October 14, 2020 news entry has been improved with clear bullet styling and a link reference.
8-9
: Clear Entry Layout (October 1, 2020)
The October 1, 2020 entry now breaks the text appropriately across lines, making the information easier to scan.
11-11
: Simple Release Announcement (July 8, 2020)
The July 8, 2020 entry, announcing Release v12, is now succinctly formatted for clarity.
16-16
: Consistent Version Notation (Version 10.1.2)
The entry for 2018-02-27 now clearly communicates the version information with improved styling.
18-18
: Clear Changelog Reference
The reminder to see the [CHANGELOG.md] is now clearly delineated as a standalone bullet entry, aiding quick reference.
21-21
: Beta Update Clarity (8.0.0 beta work)
The 2017-04-09 entry clearly communicates progress on the webpacker_lite integration.
22-22
: Compact Release Note (6.9.3 Released!)
The formatting in this entry is concise and visually consistent with the rest of the document.
23-23
: Simple Version Update (Updated to Webpack v2!)
The 2017-03-06 entry is now short and clearly highlights the update.
24-24
: Enhanced Demo Information (Internationalization Demo)
The 2017-03-02 entry now lays out the demo information in a clearer manner, with a direct link to the docs.
25-25
: Detailed Discussion Notice
The 2017-02-28 entry regarding discussions on Webpacker now appears with a uniform bullet style for improved scanability.
26-26
: Upgrade Information Clarity
The 2017-02-28 entry on upgrading to Webpack v2 or using the--bail
option is now well formatted and easy to follow.
27-27
: Event Announcement (LA Ruby Talk)
The 2016-11-03 entry announcing the LA Ruby talk is now clear and inviting.
28-28
: Video Release Notice on Egghead.io
This entry for 2016-12-20 is formatted neatly and directs the reader clearly to the resource.
30-30
: Documentation Gitbook Promotion
The 2016-08-27 entry clearly announces the Documentation Gitbook, enhancing overall readability and reference consistency.
31-31
: Release Note Clarity (v6.1 ships)
The 2016-08-21 entry is now presented in a clean and consistent manner with a direct reference to the changelog.
32-32
: Server Rendering Recommendation
The 2016-07-28 entry advises the use of mini_racer clearly and emphasizes its performance benefits.
36-36
: Polyfill Fix Announcement (6.0.4 Shipped)
The 2016-06-13 entry now clearly describes the critical fix regardingclearTimeout
and is well formatted.
37-37
: Fragment Caching Fix Note (6.0.2 Shipped)
The 2016-06-06 announcement is concise. Ensure that any punctuation or phrasing meets your documentation standards.🧰 Tools
🪛 LanguageTool
[uncategorized] ~37-~37: Possible missing comma found.
Context: ...with a critical fix if you are fragment caching the server generated React. - 2016-05-2...(AI_HYDRA_LEO_MISSING_COMMA)
39-39
: Version Update Clarity (5.2.0 Released!)
The 2016-04-08 entry is now clearly formatted and easy to read.
40-40
: Slide Reference (Slides on React on Rails)
The 2016-03-18 entry provides a clear reference to the slides, contributing positively to the document’s structure.
41-41
: Heroku Buildpack Update (4.0.3 Shipped!)
The 2016-03-17 entry for 4.0.3 is clear and well-detailed, making the update easy to understand.
42-42
: Heroku Buildpack Update (4.0.2 Shipped!)
The subsequent 4.0.2 entry is concise and pairs well with its counterpart.
50-50
: RubyGems Link Presentation
The bullet point linking to RubyGems is clearly formatted and consistent with the surrounding entries.
51-51
: NPM Link Presentation
Likewise, the NPM bullet point is clear and maintains visual consistency.
52-52
: Highlights Section Introduction (3.0.0 Highlights)
The introduction of the highlights section is clearly marked, making it easy for readers to locate key points.
57-57
: 2.x Highlights Section
The 2.x Highlights entry is now presented in a consistent and clear manner.
62-62
: Effective Call-to-Action
The final entry inviting readers to explore the React on Rails Doctrine article is prominent and well formatted.docs/guides/upgrading-react-on-rails.md (26)
4-4
: New "Need Help Migrating?" Section Added
The addition of the "Need Help Migrating?" section immediately directs users where to seek support—this enhances the document’s usability.
12-12
: Enhanced Section Header in Breaking Changes
The updated header for the "Breaking Change" subsection clarifies the context for upcoming information.
26-26
: Refined Header for Upgrading to v12
The header formatting improvement in the "Upgrading to v12" section boosts readability.
28-28
: Improved Formatting in "Recent versions" Subsection
The adjustments here provide better visual structure, helping readers quickly grasp the key points.
34-34
: Clearer Presentation of Removed Configuration
This minor formatting change makes the "Removed Configuration config.symlink_non_digested_assets_regex" section stand out more clearly.
56-63
: Clear Migration Guidelines for Function Parameters
The detailed list of function types and the conditions for migration (especially distinguishing between functions returning a React Element vs. an Object) is well presented and improves clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...(COMMA_COMPOUND_SENTENCE)
69-69
: Improved Guidance on Updating "YourComponentRenderFunction"
Directing attention to updateYourComponentRenderFunction
enhances the guidance provided to developers during migration.
72-75
: Well-formatted Code Snippet for 2-Argument Functions
The example code snippet clearly shows the proper syntax for functions expected to have exactly 2 parameters.
88-90
: Clear Example for Functions Returning a React Component
The snippet demonstrating the correct migration for functions that return a React component is both concise and clear.
102-106
: Effective Illustration of Incorrect Usage
The example that shows the broken implementation (returning a JSX literal directly) clearly highlights a common pitfall.
117-119
: Corrected Migration Example is Spot-On
The corrected example—wrapping the component in a function to avoid rendering issues—is accurate and instructive.
135-139
: YAML Configuration Snippet is Clear
The provided YAML snippet is correctly formatted and enhances consistency in the documentation.
150-152
: Concise and Understandable Instructions for Version 10
The upgrade steps for version 10 are presented concisely and should be easy for developers to follow.
177-178
: Clear Instructions for React On Rails Initializer Adjustment
The guidance on deleting and replacing configuration inconfig/initializers/react_on_rails.rb
is clear and concise.🧰 Tools
🪛 LanguageTool
[grammar] ~178-~178: The verb ‘Replace’ is plural. Did you mean: “replaces”? Did you use a verb instead of a noun?
Context: ...onfig now supplies this information - Replace `config.npm_build_(test|production)_com...(PLURAL_VERB_AFTER_THIS)
180-181
: Clear Version Bumping Instructions in client/package.json
The note about bumping versions inclient/package.json
is succinct and clear.🧰 Tools
🪛 LanguageTool
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...urrently broken. -client/package.json
: bumpreact_on_rails
(I recommend bump...(UNLIKELY_OPENING_PUNCTUATION)
182-182
: Effective Introduction to Client Webpack Config
The introduction to the Client Webpack configuration section is well-structured and enhances readability.
195-203
: Webpack Output Configuration Snippet is Instructive
The code snippet detailing webpack’s output configuration is clear, properly formatted, and effectively communicates the required settings.
205-213
: ManifestPlugin Configuration Example is Clear
The ManifestPlugin snippet is well presented and will be a valuable reference for users configuring their webpack setup.
221-232
: Comprehensive Steps for Replacing the client Directory
The step-by-step instructions are detailed and easy to follow, which should help prevent misconfigurations during migration.🧰 Tools
🪛 LanguageTool
[grammar] ~225-~225: This phrase is duplicated. You should probably use “Run Run” only once.
Context: ...rade RoR in theclient/package.json
- Runbundle
- Runrails webpacker:install
- Runrails webpacker:install:react
- Runrails g react_on_rails:install
- Move...(PHRASE_REPETITION)
237-237
: Helpful Upgrade Example Reference
The link provided as an example for upgrading offers valuable context and practical guidance.
240-247
: Clear Explanation of Breaking Configuration Changes
The section outlining the breaking configuration changes for version 11 is clear and methodically arranged.
254-266
: Detailed Renaming Instructions in WebpackConfigLoader Section
The list of properties to be renamed is comprehensive and presented in a straightforward manner.
267-285
: Detailed and Clear Webpack.config Update Snippet
The updated code snippet for the Webpack output configuration is thorough and easy to follow.🧰 Tools
🪛 LanguageTool
[formatting] ~269-~269: These punctuation marks differ from each other. Use only one if you are ending a sentence.
Context: ...name,** unless the bundle is server side.: ``` const webpackConfigLoader ...(DOUBLE_PUNCTUATION_PREMIUM)
286-295
: Well-Formatted ManifestPlugin Definition Revision
The revised ManifestPlugin configuration is clearly presented and aligns with the updated webpack setup instructions.
321-325
: Concise and Clear Procfile.dev Configuration Instructions
The instructions for editing Procfile.dev are straightforward and necessary for proper hot-loading configuration.🧰 Tools
🪛 LanguageTool
[uncategorized] ~323-~323: Possible missing comma found.
Context: ... - Remove the env value WEBPACKER_DEV_SERVER as it's not used - For hot loading: ...(AI_HYDRA_LEO_MISSING_COMMA)
327-333
: Straightforward Guidance for Non-Webpacker Integration
The steps for configuring ReactOnRails without integrating webpacker are clearly outlined and easy to follow.
d45f9b8
to
ed467d0
Compare
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
docs/guides/render-functions-and-railscontext.md (1)
125-137
:⚠️ Potential issuePotential Syntactical Issue in Exported Function.
There appears to be an extra closing brace (};
) at the end of the default export. Please verify whether the additional brace is intentional.
🧹 Nitpick comments (60)
docs/testimonials/resortpass.md (1)
3-3
: Enhance Descriptive Clarity & Consistent Capitalization
The testimonial text remains unchanged in meaning. However, for improved readability—and to honor proper noun conventions—consider capitalizing “React” and “Rails” in phrases such as “react on rails application.” You might also experiment with a slightly stronger adjective in place of “sophisticated” if that better conveys the intended tone.🧰 Tools
🪛 LanguageTool
[style] ~3-~3: Consider an alternative adjective to strengthen your wording.
Context: ...ted code that both works and reflects a deep understanding of the technologies and p...(DEEP_PROFOUND)
[grammar] ~3-~3: “React” is a proper noun and needs to be capitalized.
Context: ...s and standards for our transition to a react on rails application. Just three months...(A_GOOGLE)
spec/dummy/README.md (1)
3-4
: Clarify Dependency Linking Instructions
The changes enhance the guidance for using “yalc link” and installing yarn dependencies. As a minor style improvement, when referring to a compound adjective (e.g. “top level”), consider hyphenating it as “top-level” for extra clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install yarn dependencies ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md (1)
10-10
: Convert Bare URL to Markdown Link
A bare URL is present on this line. For improved markdown readability and to adhere to linting guidelines, consider converting this URL into a calibrated markdown link (e.g.[link text](https://github.com/shakacode/shakapacker/tree/master/lib/install/bin)
).🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
10-10: Bare URL used
null(MD034, no-bare-urls)
docs/home.md (1)
22-22
: Grammar Correction: Verb Phrase Adjustment
In the description for the demo repository, “for a new way to setup the creation of your SSR bundle…” uses “setup” as if it were a verb. Since “setup” is a noun, consider changing it to “set up” to improve grammatical accuracy.🧰 Tools
🪛 LanguageTool
[grammar] ~22-~22: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `s...(NOUN_VERB_CONFUSION)
docs/guides/how-react-on-rails-works.md (1)
5-5
: Review Emphasis Styling Consistency
The change from asterisk to underscore for emphasizing “recommended” alters the visual style. While this modification may aid readability, consider standardizing the emphasis style (e.g., using asterisks) across all documentation for consistency.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
5-5: Emphasis style
Expected: asterisk; Actual: underscore(MD049, emphasis-style)
5-5: Emphasis style
Expected: asterisk; Actual: underscore(MD049, emphasis-style)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Refine grammatical clarity.
The sentence “...allowing the precompile task to create temporary files” may read more naturally with an article inserted (e.g. “...allowing the precompile task to create the temporary files”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/javascript/foreman-issues.md (2)
11-12
: Improve issue description wording.
The revised bullet point now explains that “react-s3-uploader
was failing to finish uploading the file…” Consider revising to “uploading the file” (adding the necessary verb form and article) and optionally inserting a comma after the first clause for enhanced flow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~12-~12: A comma might be missing here.
Context: ...foreman -f Procfile.dev`. At the same time the same code works fine when the Ruby ...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
14-15
: Clarify version-related concerns.
The rephrased description of how differentforeman
andbundler
versions can yield inconsistentps aux
outputs is clearer. A minor punctuation adjustment (e.g. adding a comma to separate clauses) may further smooth the reading experience.docs/misc/style.md (1)
36-41
: Improved Git usage instructions.
The detailed recommendations for following a GitHub flow (including rebasing and commit cleanup instructions) are very helpful. A slight punctuation refinement—such as adding a comma on line 39 to better separate the clauses—might improve the flow further.🧰 Tools
🪛 LanguageTool
[uncategorized] ~39-~39: Possible missing comma found.
Context: ...icate with anybody else working on this branch and do not do this when others have unc...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/react-helmet.md (2)
36-38
: Clarification on render-function requirements.
The text now makes it clear that you cannot return just JSX; instead, a full React component must be returned. A minor punctuation tweak—such as adding a comma after “Note”—could further improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~36-~36: Possible missing comma found.
Context: .....props} />; ``` Or a render-function. Note you can't return just the JSX (React el...(AI_HYDRA_LEO_MISSING_COMMA)
91-94
: Clarification on react_component_hash usage.
The explanation now clearly states that thereact_component_hash
helper returns a hash instead of an HTML string when invoked with "ReactHelmetApp". For improved grammar, consider inserting “an” before “HTML string.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~92-~92: You might be missing the article “an” here.
Context: ...gument it will return a hash instead of HTML string. Note, there is no need to speci...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
docs/javascript/angular-js-integration-migration.md (1)
7-7
: Enhance grammatical correctness in migration instructions.
In the Assets Handling section, consider revising the sentence on line 7 by:
- Replacing “setup” (noun) with “set up” (verb),
- Using “different from” instead of “different than” for standard English style, and
- Verifying if “you” should be “you’re” based on the intended meaning.
These adjustments will further improve clarity in the instructions related to packaging JavaScript libraries.🧰 Tools
🪛 LanguageTool
[grammar] ~7-~7: The word “setup” is a noun. The verb is spelled with a space.
Context: ...ave not already done this, then you can setup theReactOnRails
default JS code dire...(NOUN_VERB_CONFUSION)
[style] ~7-~7: Did you mean ‘different from’? ‘Different than’ is often considered colloquial style.
Context: ...inclusion this way will be no different than using the Rails asset pipeline. However...(DIFFERENT_THAN)
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...(AI_HYDRA_LEO_CP_YOU_YOUARE)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (3)
19-22
: Clarified Server-Side Rendering OptionsThe section now reformats the guidance on server-side rendering options. The explicit mention of "a couple options" makes the message accessible.
Suggestion: Consider revising “a couple options” to “a couple of options” for grammatical precision.🧰 Tools
🪛 LanguageTool
[grammar] ~19-~19: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ... server-side rendering, then you have a couple options. The recommended technique is to have a...(PLENTY_OF_NOUNS)
88-89
: Clarification on Overlay ConfigurationThe explanatory note regarding the
overlay.sockPort
setting effectively communicates why this option is necessary.
Suggestion: For grammatical accuracy, consider inserting “the” before “SockJS” (i.e. “makes the SockJS work properly”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... }), ); } ``` We addedoverlay.sockPort
option in `ReactRefres...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...fig/shakapacker.yml`. This makes SockJS works properly and fixes this error in browse...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... works properly and fixes this error in browser console: `GET http://localhost:[port]/s...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
101-104
: Informative Browser Behavior NoteThe note that explains how the browser will reflect changes—and what to do if the plugin fails—provides valuable operational context.
Suggestion: You might consider formalizing the casual phrasing (e.g., “If for some reason the plugin doesn't work”) to better suit technical documentation.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
docs/guides/i18n.md (1)
29-35
: Emphasized Note on Linting OrderThe note (using the [!NOTE] block) clearly warns that attempting to lint before building locales can lead to errors.
Suggestion: Consider rephrasing “try to lint” as “attempt to lint” for a slightly more formal tone.🧰 Tools
🪛 LanguageTool
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...(WANT_TO_NN)
KUDOS.md (1)
5-115
: Enriched Community TestimonialsThe expanded timeline of testimonials—from September 2018 back to March 2016—greatly enhances the document by showcasing diverse, real-world endorsements. The integration of images, links, and detailed attributions improves the document’s engagement factor.
Suggestion: In the February 24, 2017 testimonial, consider rewording “so awesome and welcoming” to a slightly more formal phrase to match the overall tone.🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ators are great and the community is so awesome and welcoming. In fact, I love it so mu...(AWESOME)
[grammar] ~49-~49: “React” is a proper noun and needs to be capitalized.
Context: ...Rails](https://goo.gl/uzu36X) using the react_on_rails gem!" ![The Complete React on ...(A_GOOGLE)
[style] ~102-~102: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1997 characters long)
Context: ...ls gems to manage front end dependencies! React on Rails provides webpack integra...(EN_EXCESSIVE_EXCLAMATION)
🪛 markdownlint-cli2 (0.17.2)
5-5: Trailing punctuation in heading
Punctuation: '.'(MD026, no-trailing-punctuation)
70-70: Bare URL used
null(MD034, no-bare-urls)
106-106: Bare URL used
null(MD034, no-bare-urls)
docs/additional-details/recommended-project-structure.md (1)
44-51
: Informative Discussion on Styling AssetsThe section discussing the pros and cons of moving styling assets to Webpack versus using the Rails asset pipeline is detailed and supported by an external reference.
Suggestion: The phrase “It depends!” might be too informal; consider a more neutral phrasing such as “The choice depends on your project requirements.”🧰 Tools
🪛 LanguageTool
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline? It depends! Here's a good discussion of this option: [Why does Ra...(GOOD_CONSTRUCTIVE)
CONTRIBUTING.md (2)
7-7
: Remove Trailing Punctuation from Heading
The heading “## To run tests:” ends with a colon. Removing the trailing punctuation (i.e. changing it to “## To run tests”) would help conform to markdownlint guidelines.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
7-7: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
22-22
: Punctuate for Clarity in IDE Setup
In the sentence “Otherwise your IDE might slow to a crawl!”, adding a comma after “Otherwise” (i.e. “Otherwise, your IDE might slow to a crawl!”) would improve readability as indicated by the static analysis hint.🧰 Tools
🪛 LanguageTool
[uncategorized] ~22-~22: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...E/editor to ignore certain directories. Otherwise your IDE might slow to a crawl! - /cov...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/outdated/rails-assets.md (1)
3-3
: Use a Proper Heading Instead of Emphasis
The text on line 3 is formatted with underscores for emphasis (“This doc needs updating for the use of Shakapacker or rails/webpacker with React on Rails”). Consider using a heading (e.g. starting with “###”) to improve visibility and semantic structure.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
3-3: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
docs/misc/doctrine.md (1)
67-67
: Refine Word Choice for Brevity
The phrase “with lots of business rules” may benefit from a more concise alternative (e.g. “with many business rules”). This small change will tighten the language.🧰 Tools
🪛 LanguageTool
[style] ~67-~67: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...for Rails (document/database based with lots of business rules), the tight integration ...(A_LOT_OF)
docs/contributor-info/linters.md (1)
28-28
: Tone Down Excessive Emphasis
The statement “Autofixing is a HUGE time saver!” uses multiple exclamation marks which may feel overly enthusiastic. Consider toning down the punctuation to maintain a professional tone.🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...(EN_EXCESSIVE_EXCLAMATION)
spec/dummy/client/README.md (2)
19-20
: Fenced Code Blocks Enhance Readability
Replacing indented code blocks with fenced code blocks for “Updating Node Dependencies” (and similarly at later segments) provides clearer visual separation. Note that markdownlint hints suggest reviewing the code block style to ensure consistency with project guidelines.
34-34
: Review Fenced Code Block Usage
The fenced code block at line 34 is correctly used for command examples; just verify that this style is consistent throughout the documentation as per markdownlint rules.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
34-34: Code block style
Expected: indented; Actual: fenced(MD046, code-block-style)
NEWS.md (2)
29-29
: Verify Date and Weekday ConsistencyA static analysis hint flagged a potential inconsistency on this line: the mention of "November 10" may not correspond to a Thursday in the historical context. Please verify the event details and adjust the date or weekday if needed.
🧰 Tools
🪛 LanguageTool
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...(EN_DATE_WEEKDAY_CURRENTYEAR)
34-35
: Duplicate Entry CheckThere seem to be very similar or possibly duplicate entries around these lines. Please review these entries to ensure that redundant information is removed and that each news item is uniquely represented.
docs/outdated/rails-assets-relative-paths.md (3)
51-51
: Refine Explanatory TextThe accompanying text contains phrasing such as “both of these two example above do the exact same thing.” Consider revising it to “both of these examples do the same thing” for improved grammatical accuracy.
🧰 Tools
🪛 LanguageTool
[grammar] ~51-~51: After the number ‘two’, use a plural noun. Did you mean “examples”?
Context: ...name].[ext]', }, ``` both of these two example above do the exact same thing, just usi...(CD_NNU)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ... both of these two example above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
61-61
: Minor Punctuation SuggestionConsider adding a comma after introductory phrases like “For now,” to improve the natural flow of the explanatory text in this section.
🧰 Tools
🪛 LanguageTool
[typographical] ~61-~61: Consider adding a comma here.
Context: ...r file's resulting name after bundling. For now we're just going to use: ```javascript...(FOR_NOW_COMMA)
67-67
: Abbreviation PunctuationEnsure that abbreviations like “etc.” include the period (e.g., “etc.”) to conform with standard American English punctuation.
🧰 Tools
🪛 LanguageTool
[style] ~67-~67: In American English, abbreviations like “etc.” require a period.
Context: ...nsion of the original file (.png, .jpg, etc). Next we'll set the outputPath for ou...(ETC_PERIOD)
docs/contributor-info/pull-requests.md (1)
5-5
: Punctuation Consistency in HeadingA minor review note: check the heading punctuation in the "Checklist before Committing" section to ensure that there are no stray punctuation marks.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: Loose punctuation mark.
Context: ...# Checklist before Committing 1.rake
: runs all linters and specs (you need Do...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/rails-webpacker-react-integration-options.md (1)
186-186
: Minor Grammar Improvement in CommentA static analysis hint noted a potential missing article in the sass loader comment (“...option for sass loader”). Consider revising to “the sass loader” for grammatical correctness.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass ...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
PROJECTS.md (6)
3-3
: Suggestion: Improve Link Descriptive Text.
Instead of “Click here”, consider using more descriptive text (e.g. “Search public React on Rails sites”) for better accessibility.
15-15
: Language Improvement: Missing Article.
Consider inserting “a” before “Canadian shopping site” to read “a Canadian shopping site.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~15-~15: You might be missing the article “a” here.
Context: ...eals](https://www.redflagdeals.com/)**, Canadian shopping site. - **[YourMechanic](https...(AI_EN_LECTOR_MISSING_DETERMINER_A)
22-22
: Language Improvement: Missing Article.
Adding “a” before “large French crowdfunding platform” would improve the grammatical flow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~22-~22: You might be missing the article “a” here.
Context: ...](https://www.kisskissbankbank.com/)**, large French crowdfunding platform. - **[HVMN...(AI_EN_LECTOR_MISSING_DETERMINER_A)
29-29
: Spelling Consistency: “multilingual” Preferred.
Replace “multi-lingual” with “multilingual” to align with standard spelling conventions.🧰 Tools
🪛 LanguageTool
[misspelling] ~29-~29: This word is normally spelled as one.
Context: ...has gone live with React on Rails, with multi-lingual JavaScript support! ![2016-05-03_19-1...(EN_COMPOUNDS_MULTI_LINGUAL)
52-52
: Markdown Linting: Heading Punctuation.
Consider removing the trailing period in the heading “Per Github.” to comply with Markdown style guidelines.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
52-52: Trailing punctuation in heading
Punctuation: '.'(MD026, no-trailing-punctuation)
61-61
: Language Consistency: Compound Adjective Hyphenation.
Change “Open source marketplace platform” to “open‐source marketplace platform” for clarity and consistency.🧰 Tools
🪛 LanguageTool
[uncategorized] ~61-~61: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ps://github.com/sharetribe/sharetribe): Open source marketplace platform.(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/javascript/server-rendering-tips.md (1)
14-14
: Readability Suggestion: Break Long Sentence.
Consider splitting the lengthy sentence into shorter, clearer sentences to further improve readability.docs/additional-details/generator-details.md (3)
44-44
: Redundancy in Description.
The phrase “given its own folder inside of” could be simplified—consider rephrasing to “organized in” to reduce redundancy.🧰 Tools
🪛 LanguageTool
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ...f functionality is given its own folder inside ofapp/javascript/app/bundles
. This enco...(OUTSIDE_OF)
46-46
: Punctuation Improvement in Domain Description.
Insert a comma after “Inside the generated ‘HelloWorld’ domain” for improved readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...(AI_HYDRA_LEO_MISSING_COMMA)
48-50
: Punctuation Consistency in Bullet List.
Ensure uniform punctuation (colons/commas) in the descriptions for thestartup
,containers
, andcomponents
folders.🧰 Tools
🪛 LanguageTool
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: -startup
: contains the entry point files for webp...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...or decreased bundle size. -containers
: contains "smart components" (components...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). -components
: contains "dumb components", or componen...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/render-functions-and-railscontext.md (1)
42-42
: Minor Language Suggestion.
Consider inserting “an” before “alternate API” in the note to improve grammatical precision.🧰 Tools
🪛 LanguageTool
[uncategorized] ~42-~42: You might be missing the article “an” here.
Context: ...yAppComponent; ``` --- _This would be alternate API where you have to call React.create...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
docs/rails/turbolinks.md (5)
12-12
: Turbo Option Configuration Example
The inline code snippet usingReactOnRails.setOptions({ turbo: true })
is clear. You might consider adding a brief note on what enabling Turbo entails (e.g. improved handling of navigation events) for extra clarity.
37-37
: Minor Punctuation Suggestion in “Why Not Turbolinks”
The bullet under “Why Not Turbolinks” is clear; however, a slight punctuation adjustment (e.g. adding a comma before “and” if intending to join independent clauses) may enhance readability.
42-44
: CSRF and Request Headers Details
The updated bullet points explaining CSRF token nuances and Turbolinks5’s request header behavior are detailed and useful. Consider splitting one of the longer sentences into two for improved clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
108-112
: Enabling Turbolinks Event Tracing
The configuration example for enabling tracing viaReactOnRails.setOptions
is precise. A brief inline comment explaining what “tracing” impacts could further assist some readers.
118-120
: Environment Detection for Webpack Configuration
DefiningdevBuild
viaprocess.env.NODE_ENV !== 'production'
is a best practice. Clarifying its role (e.g. in enabling hot module reloading or debug logging) might benefit less experienced developers.docs/guides/upgrading-react-on-rails.md (6)
12-12
: Breaking Change Notice for v13
Clearly stating that the gem dependency has shifted fromwebpacker
toshakapacker
is important. Consider briefly explaining the benefits of the new dependency in this section.
145-145
: Integrating Webpacker Explanation
The updated sentence explaining how bypassing the asset pipeline benefits source maps and production performance is effective. Consider a brief note on any potential trade-offs.
158-159
: Client Package Dependency Updates
The reminder to bump versions inclient/package.json
(for both React on Rails and Webpack) is clear. It may be helpful to specify minimum recommended versions to avoid compatibility issues.
268-275
: Webpack Output Configuration Example
The updated code snippet that demonstrates how to load and destructureoutput
andsettings
from the configuration is clear and practical for cache busting through hashed filenames.🧰 Tools
🪛 LanguageTool
[formatting] ~269-~269: These punctuation marks differ from each other. Use only one if you are ending a sentence.
Context: ...name,** unless the bundle is server side.: ``` const webpackConfigLoader ...(DOUBLE_PUNCTUATION_PREMIUM)
25-26
: Shakapacker Setup Clarity
The updated description in the “Option 1” section now includes a direct link to the default Shakapacker README and a pointer to Webpack Tips. Consider tightening the wording in line 26 (advantage might be rephrased for brevity).
31-31
: Accessing Shakapacker Configuration
The instruction to “access values fromconfig/shakapacker.yml
” is clear. A quick review for any missing punctuation (e.g. a trailing comma) could further polish this section.package-scripts.yml (2)
4-4
: Streamlined linting and formatting commands look great.
The removal ofconcurrently
in favor of direct commands (e.g.nps eslint
,prettier --write .
, andprettier --check .
) simplifies the scripts and improves readability. These changes reduce complexity while still achieving the intended functionality.Also applies to: 36-39
27-31
: Refactor the build prepack chain for better clarity.
The inline shell command for building the project is quite dense:[ -f node_package/lib/ReactOnRails.full.js ] || (npm run build >/dev/null 2>&1 || true) && [ -f node_package/lib/ReactOnRails.full.js ] || { echo 'Building react-on-rails seems to have failed!'; }For improved maintainability and clarity, consider refactoring it into a multi-line script. For example:
- script: > - [ -f node_package/lib/ReactOnRails.full.js ] || - (npm run build >/dev/null 2>&1 || true) && - [ -f node_package/lib/ReactOnRails.full.js ] || - { echo 'Building react-on-rails seems to have failed!'; } + script: | + if [ -f node_package/lib/ReactOnRails.full.js ]; then + exit 0 + fi + npm run build >/dev/null 2>&1 || true + if [ ! -f node_package/lib/ReactOnRails.full.js ]; then + echo 'Building react-on-rails seems to have failed!' + exit 1 + fiThis version explicitly checks for the existence of the file before and after building, making the control flow clearer.
docs/guides/webpack-configuration.md (1)
41-42
: Consider improving bare URL presentation.
The bullet points on lines 41–42 list bare URLs:
- https://github.com/shakacode/shakapacker/blob/master/package/environments/base.js
- https://github.com/shakacode/shakapacker/blob/master/package/environments/development.js
To improve readability and conform with markdown best practices (e.g. MD034), consider wrapping these URLs in angle brackets or using markdown link syntax. For example:
- - https://github.com/shakacode/shakapacker/blob/master/package/environments/base.js - - https://github.com/shakacode/shakapacker/blob/master/package/environments/development.js + - [Base environment configuration](https://github.com/shakacode/shakapacker/blob/master/package/environments/base.js) + - [Development environment configuration](https://github.com/shakacode/shakapacker/blob/master/package/environments/development.js)This makes the document more user-friendly.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
41-41: Bare URL used
null(MD034, no-bare-urls)
42-42: Bare URL used
null(MD034, no-bare-urls)
docs/outdated/rails3.md (3)
3-3
: Enhance Issue Reporting VerbiageConsider using more direct language to prompt users for feedback. For example, change:
- Please let us know if you find any issues with Rails 3. + Please report any issues you encounter with Rails 3.This active phrasing enhances clarity and encourages prompt reporting.
[style]🧰 Tools
🪛 LanguageTool
[style] ~3-~3: Consider using a different verb to strengthen your wording.
Context: # Rails 3 - Please let us know if you find any issues with Rails 3. - Rails 3 is c...(FIND_ENCOUNTER)
4-4
: Clarify Compatibility StatementThe phrase “work up with versions” might be ambiguous. Consider rephrasing it for clarity, for example:
- Rails 3 is confirmed to work up with versions up to 6.8.x. + Rails 3 has been confirmed to work with Rails versions up to 6.8.x.This revision clearly states the supported versions.
[style]
5-5
: Strengthen Contribution Call-to-ActionRewording the call-to-action can make it more engaging. For instance:
- We are not testing it for new releases. If you find an issue, you will have to submit a PR to get it fixed. + We are not actively testing Rails 3 for new releases. If you encounter an issue, please consider opening a pull request to address it.This version uses a proactive tone and encourages community contributions.
[style]🧰 Tools
🪛 LanguageTool
[style] ~5-~5: Consider using a different verb to strengthen your wording.
Context: ...not testing it for new releases. If you find an issue, you will have to submit a PR ...(FIND_ENCOUNTER)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
yarn.lock
is excluded by!**/yarn.lock
,!**/*.lock
📒 Files selected for processing (95)
.github/ISSUE_TEMPLATE/bug_report.md
(0 hunks).github/ISSUE_TEMPLATE/feature_request.md
(0 hunks).github/PULL_REQUEST_TEMPLATE.md
(1 hunks).github/workflows/main.yml
(2 hunks).prettierrc
(1 hunks)CHANGELOG.md
(19 hunks)CONTRIBUTING.md
(11 hunks)KUDOS.md
(1 hunks)NEWS.md
(1 hunks)PROJECTS.md
(1 hunks)README.md
(4 hunks)SUMMARY.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/migrating-from-react-rails.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(1 hunks)docs/additional-details/tips-for-usage-with-sp6.md
(1 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/javascript-api.md
(2 hunks)docs/api/redux-store-api.md
(4 hunks)docs/api/view-helpers-api.md
(8 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(2 hunks)docs/contributor-info/releasing.md
(1 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/deployment/heroku-deployment.md
(1 hunks)docs/getting-started.md
(8 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/configuration.md
(4 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(6 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(1 hunks)docs/guides/how-react-on-rails-works.md
(2 hunks)docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
(3 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/installation-into-an-existing-rails-app.md
(2 hunks)docs/guides/minitest-configuration.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(6 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/react-server-rendering.md
(2 hunks)docs/guides/render-functions-and-railscontext.md
(6 hunks)docs/guides/rspec-configuration.md
(4 hunks)docs/guides/streaming-server-rendering.md
(4 hunks)docs/guides/tutorial.md
(12 hunks)docs/guides/upgrading-react-on-rails.md
(13 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(2 hunks)docs/javascript/angular-js-integration-migration.md
(2 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(5 hunks)docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
(1 hunks)docs/javascript/credits.md
(0 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/images.md
(0 hunks)docs/javascript/node-dependencies-and-npm.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(6 hunks)docs/javascript/react-router.md
(2 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(2 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/articles.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(1 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/deferred-rendering.md
(2 hunks)docs/outdated/rails-assets-relative-paths.md
(8 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/rails3.md
(1 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/rails-engine-integration.md
(2 hunks)docs/rails/rails_view_rendering_from_inline_javascript.md
(2 hunks)docs/rails/turbolinks.md
(3 hunks)docs/release-notes/15.0.0.md
(4 hunks)docs/testimonials/resortpass.md
(1 hunks)docs/testimonials/testimonials.md
(1 hunks)knip.ts
(1 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/ClientSideRenderer.ts
(10 hunks)node_package/src/ReactOnRails.client.ts
(7 hunks)node_package/src/context.ts
(2 hunks)package-scripts.yml
(2 hunks)package.json
(1 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/README.md
(2 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/app/assets/stylesheets/application_non_webpack.scss
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/components/CssModulesImagesFontsExample.module.scss
(2 hunks)spec/dummy/client/app/components/ImageExample/ImageExample.module.scss
(1 hunks)spec/dummy/client/app/startup/RouterApp.server.jsx
(1 hunks)
💤 Files with no reviewable changes (4)
- .github/ISSUE_TEMPLATE/bug_report.md
- docs/javascript/images.md
- docs/javascript/credits.md
- .github/ISSUE_TEMPLATE/feature_request.md
✅ Files skipped from review due to trivial changes (5)
- spec/dummy/client/app/startup/RouterApp.server.jsx
- spec/dummy/client/app/components/ImageExample/ImageExample.module.scss
- spec/dummy/app/assets/stylesheets/application_non_webpack.scss
- spec/dummy/client/app/components/CssModulesImagesFontsExample.module.scss
- docs/api/redux-store-api.md
🚧 Files skipped from review as they are similar to previous changes (47)
- docs/deployment/heroku-deployment.md
- docs/testimonials/testimonials.md
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorld.module.css
- docs/contributor-info/releasing.md
- lib/generators/USAGE
- docs/javascript/troubleshooting-when-using-shakapacker.md
- docs/outdated/webpack-v1-notes.md
- spec/dummy/Procfile.dev-static
- docs/javascript/node-dependencies-and-npm.md
- docs/misc/articles.md
- lib/react_on_rails/helper.rb
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/guides/rspec-configuration.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- lib/tasks/assets.rake
- knip.ts
- docs/outdated/deferred-rendering.md
- docs/javascript/code-splitting.md
- docs/guides/file-system-based-automated-bundle-generation.md
- docs/guides/configuration.md
- docs/additional-details/updating-dependencies.md
- docs/guides/minitest-configuration.md
- .github/PULL_REQUEST_TEMPLATE.md
- docs/contributor-info/generator-testing.md
- docs/additional-details/manual-installation-overview.md
- docs/javascript/react-and-redux.md
- docs/additional-details/migrating-from-react-rails.md
- node_package/src/context.ts
- docs/guides/react-on-rails-overview.md
- docs/additional-details/tips-for-usage-with-sp6.md
- .github/workflows/main.yml
- docs/guides/installation-into-an-existing-rails-app.md
- docs/misc/tips.md
- docs/guides/client-vs-server-rendering.md
- .prettierrc
- docs/javascript/capistrano-deployment.md
- docs/javascript/react-router.md
- docs/api/javascript-api.md
- CHANGELOG.md
- node_package/src/ClientSideRenderer.ts
- docs/guides/streaming-server-rendering.md
- docs/guides/react-server-rendering.md
- SUMMARY.md
- docs/api/view-helpers-api.md
- docs/javascript/webpack.md
- node_package/src/ReactOnRails.client.ts
- docs/rails/rails_view_rendering_from_inline_javascript.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CONTRIBUTING.md
7-7: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
KUDOS.md
70-70: Bare URL used
null
(MD034, no-bare-urls)
106-106: Bare URL used
null
(MD034, no-bare-urls)
PROJECTS.md
52-52: Trailing punctuation in heading
Punctuation: '.'
(MD026, no-trailing-punctuation)
docs/additional-details/recommended-project-structure.md
32-32: Trailing punctuation in heading
Punctuation: '.'
(MD026, no-trailing-punctuation)
docs/getting-started.md
140-140: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
docs/guides/how-react-on-rails-works.md
5-5: Emphasis style
Expected: asterisk; Actual: underscore
(MD049, emphasis-style)
5-5: Emphasis style
Expected: asterisk; Actual: underscore
(MD049, emphasis-style)
docs/guides/tutorial.md
7-7: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
25-25: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
docs/guides/webpack-configuration.md
41-41: Bare URL used
null
(MD034, no-bare-urls)
42-42: Bare URL used
null
(MD034, no-bare-urls)
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
10-10: Bare URL used
null
(MD034, no-bare-urls)
docs/javascript/react-helmet.md
27-27: Bare URL used
null
(MD034, no-bare-urls)
docs/outdated/rails-assets-relative-paths.md
1-1: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
docs/outdated/rails-assets.md
3-3: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
docs/rails/turbolinks.md
93-93: Bare URL used
null
(MD034, no-bare-urls)
spec/dummy/client/README.md
21-21: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
25-25: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
34-34: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
🪛 LanguageTool
CONTRIBUTING.md
[uncategorized] ~22-~22: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...E/editor to ignore certain directories. Otherwise your IDE might slow to a crawl! - /cov...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
[style] ~81-~81: Consider shortening or rephrasing this to strengthen your wording.
Context: ...eact-on-rails ``` The workflow is: 1. Make changes to the node package. 2. We need yalc to pu...
(MAKE_CHANGES)
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~205-~205: A comma might be missing here.
Context: .... ### Install Generator In your Rails app add this gem with a path to your fork. ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[grammar] ~237-~237: The word ‘lint’ is a noun or an adjective. A verb or adverb is missing or misspelled here, or maybe a comma is missing.
Context: ...changes via the lint container. You can lint locally by running `npm run lint && npm...
(PRP_MD_NN)
[grammar] ~242-~242: The word ‘install’ is not a noun.
Context: ...he initial build is slow, but after the install, startup is very quick. ### Linting Co...
(A_INSTALL)
[style] ~242-~242: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...slow, but after the install, startup is very quick. ### Linting Commands Run rake lint
...
(EN_WEAK_ADJECTIVE)
KUDOS.md
[style] ~49-~49: Consider using a more formal and expressive alternative to ‘awesome’.
Context: ...ators are great and the community is so awesome and welcoming. In fact, I love it so mu...
(AWESOME)
[grammar] ~49-~49: “React” is a proper noun and needs to be capitalized.
Context: ...Rails](https://goo.gl/uzu36X) using the react_on_rails gem!" ![The Complete React on ...
(A_GOOGLE)
[style] ~102-~102: Using many exclamation marks might seem excessive (in this case: 3 exclamation marks for a text that’s 1997 characters long)
Context: ...ls gems to manage front end dependencies! React on Rails provides webpack integra...
(EN_EXCESSIVE_EXCLAMATION)
NEWS.md
[grammar] ~10-~10: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `r...
(NOUN_VERB_CONFUSION)
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...v12**. 1. React Hooks Support for top level components 2. Typescript bindings...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~20-~20: A determiner appears to be missing. Consider inserting it.
Context: ...rformance improvements! Please upgrade! Only "breaking" change is that you have to u...
(AI_EN_LECTOR_MISSING_DETERMINER)
[inconsistency] ~29-~29: Did you mean to refer to the current year? November 10, 2025 is not a Thursday, but a Monday.
Context: ...) - 2016-11-03: Spoke at [LA Ruby, 7pm, Thursday, November 10 in Venice, CA: "React on Rails: Why, Wh...
(EN_DATE_WEEKDAY_CURRENTYEAR)
[style] ~49-~49: Consider an alternative verb to strengthen your wording.
Context: ...md) for details, and let us know if you see any issues! [Migration steps from 1.x](...
(IF_YOU_HAVE_THIS_PROBLEM)
[grammar] ~60-~60: “React” is a proper noun and needs to be capitalized.
Context: ...._ If you did generate a fresh app from react_on_rails and want to move to CSS Module...
(A_GOOGLE)
[style] ~60-~60: Using many exclamation marks might seem excessive (in this case: 20 exclamation marks for a text that’s 8676 characters long)
Context: ...information. Ping us if you want to help! - ShakaCode...
(EN_EXCESSIVE_EXCLAMATION)
[uncategorized] ~61-~61: This expression is usually spelled with a hyphen.
Context: ...hakacode.com) is doing Skype plus Slack/GitHub based coaching for "React on Rails". [Click h...
(BASED_HYPHEN)
PROJECTS.md
[uncategorized] ~15-~15: You might be missing the article “a” here.
Context: ...eals](https://www.redflagdeals.com/)**, Canadian shopping site. - **[YourMechanic](https...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~22-~22: You might be missing the article “a” here.
Context: ...](https://www.kisskissbankbank.com/)**, large French crowdfunding platform. - **[HVMN...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~29-~29: This word is normally spelled as one.
Context: ...has gone live with React on Rails, with multi-lingual JavaScript support! ![2016-05-03_19-1...
(EN_COMPOUNDS_MULTI_LINGUAL)
[uncategorized] ~40-~40: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...lational Marketing for Real Estate. ## Open Source Projects Live - [github.com/empirical-...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~61-~61: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ps://github.com/sharetribe/sharetribe): Open source marketplace platform.
(EN_COMPOUND_ADJECTIVE_INTERNAL)
README.md
[style] ~87-~87: Style-wise, it’s not ideal to insert an adverb (‘conditionally’) in the middle of an infinitive construction (‘to render’). Try moving the adverb to avoid split infinitives.
Context: ...lient-and-server-rendering/1352) - [How to conditionally render server side based on the device type](https://forum...
(SPLIT_INFINITIVE)
docs/additional-details/generator-details.md
[style] ~44-~44: This phrase is redundant. Consider using “inside”.
Context: ...f functionality is given its own folder inside of app/javascript/app/bundles
. This enco...
(OUTSIDE_OF)
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...find the following folders: - startup
: contains the entry point files for webp...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: ...or decreased bundle size. - containers
: contains "smart components" (components...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...child "dumb components"). - components
: contains "dumb components", or componen...
(UNLIKELY_OPENING_PUNCTUATION)
docs/additional-details/recommended-project-structure.md
[style] ~50-~50: Consider an alternative adjective to strengthen your wording.
Context: ...s asset pipeline? It depends! Here's a good discussion of this option: [Why does Ra...
(GOOD_CONSTRUCTIVE)
[uncategorized] ~68-~68: Loose punctuation mark.
Context: ...ctory structure 1. /client/app/assets
: Assets for CSS for client app. 1. `/cli...
(UNLIKELY_OPENING_PUNCTUATION)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...
(EN_EXCESSIVE_EXCLAMATION)
docs/contributor-info/pull-requests.md
[uncategorized] ~5-~5: Loose punctuation mark.
Context: ...# Checklist before Committing 1. rake
: runs all linters and specs (you need Do...
(UNLIKELY_OPENING_PUNCTUATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...
(A_GOOGLE)
[uncategorized] ~142-~142: You might be missing the article “the” here.
Context: ...nents running on the server side versus client side. For example, if you have an anima...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~144-~144: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[grammar] ~19-~19: Using ‘couple’ without ‘of’ is considered to be informal.
Context: ... server-side rendering, then you have a couple options. The recommended technique is to have a...
(PLENTY_OF_NOUNS)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... }), ); } ``` We added overlay.sockPort
option in `ReactRefres...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~88-~88: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...fig/shakapacker.yml`. This makes SockJS works properly and fixes this error in browse...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~88-~88: You might be missing the article “the” here.
Context: ... works properly and fixes this error in browser console: `GET http://localhost:[port]/s...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a react-rou...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/i18n.md
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...
(WANT_TO_NN)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the sass ...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/render-functions-and-railscontext.md
[uncategorized] ~42-~42: You might be missing the article “an” here.
Context: ...yAppComponent; ``` --- _This would be alternate API where you have to call React.create...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
docs/guides/tutorial.md
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...t-react-on-rails ``` Note: You can use --database=postgresql
option to use Pos...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~368-~368: A comma might be missing here.
Context: ...ample, to be able to run on free Cloud9 IDE we are putting IP 0.0.0.0 and PORT 8080...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~7-~7: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...nfiguration to a better setup ready for Server Side Rendering. ## Upgrading to v13 ### Br...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...
(COMMA_COMPOUND_SENTENCE)
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...
(NOUN_VERB_CONFUSION)
[uncategorized] ~144-~144: The preposition “by” seems more likely in this position.
Context: ..._RAILS"] usage. You can get all tracing with either specifying trace
at your c...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
- Gemfile
: bu...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ... config/initializers/react_on_rails.rb
: - Delete `config.generated_assets_dir...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~178-~178: The verb ‘Replace’ is plural. Did you mean: “replaces”? Did you use a verb instead of a noun?
Context: ...onfig now supplies this information - Replace `config.npm_build_(test|production)_com...
(PLURAL_VERB_AFTER_THIS)
[uncategorized] ~179-~179: A comma might be missing here.
Context: ...commend setting dev_server.hmr to false however since HMR is currently broken. - `clien...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...urrently broken. - client/package.json
: bump react_on_rails
(I recommend bump...
(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~225-~225: This phrase is duplicated. You should probably use “Run Run” only once.
Context: ...rade RoR in the client/package.json
- Run bundle
- Run rails webpacker:install
- Run rails webpacker:install:react
- Run rails g react_on_rails:install
- Move...
(PHRASE_REPETITION)
[formatting] ~269-~269: These punctuation marks differ from each other. Use only one if you are ending a sentence.
Context: ...name,** unless the bundle is server side.: ``` const webpackConfigLoader ...
(DOUBLE_PUNCTUATION_PREMIUM)
[duplication] ~300-~300: Possible typo: you repeated a word.
Context: ...packer.yml - If you are not using the webpacker webpacker setup, be sure to put in `compile: fals...
(ENGLISH_WORD_REPEAT_RULE)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to /
for the node_modules
location using this value in `config/initializer...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/home.md
[grammar] ~22-~22: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `s...
(NOUN_VERB_CONFUSION)
docs/javascript/angular-js-integration-migration.md
[grammar] ~7-~7: The word “setup” is a noun. The verb is spelled with a space.
Context: ...ave not already done this, then you can setup the ReactOnRails
default JS code dire...
(NOUN_VERB_CONFUSION)
[style] ~7-~7: Did you mean ‘different from’? ‘Different than’ is often considered colloquial style.
Context: ...inclusion this way will be no different than using the Rails asset pipeline. However...
(DIFFERENT_THAN)
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...
(AI_HYDRA_LEO_CP_YOU_YOUARE)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...
(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~12-~12: A comma might be missing here.
Context: ...foreman -f Procfile.dev`. At the same time the same code works fine when the Ruby ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
docs/javascript/react-helmet.md
[style] ~10-~10: Consider a shorter alternative to avoid wordiness.
Context: ...## Example Here is what you need to do in order to configure your Rails application to wor...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~36-~36: Possible missing comma found.
Context: .....props} />; ``` Or a render-function. Note you can't return just the JSX (React el...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~92-~92: You might be missing the article “an” here.
Context: ...gument it will return a hash instead of HTML string. Note, there is no need to speci...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/server-rendering-tips.md
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/misc/doctrine.md
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...
(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...
(ALTOGETHER)
[uncategorized] ~63-~63: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: .... ES6 is beautiful. React is beautiful. Client side code written with React plus Redux, ful...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~67-~67: The phrase ‘lots of’ might be wordy and overused. Consider using an alternative.
Context: ...for Rails (document/database based with lots of business rules), the tight integration ...
(A_LOT_OF)
[uncategorized] ~78-~78: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...p with: - Community suggestions. - New client side tooling, libraries, and techniques. - U...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/misc/style.md
[uncategorized] ~8-~8: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...t support the linter configuration. ## Client Side JavaScript and React - See the [Shakac...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~39-~39: Possible missing comma found.
Context: ...icate with anybody else working on this branch and do not do this when others have unc...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md
[grammar] ~51-~51: After the number ‘two’, use a plural noun. Did you mean “examples”?
Context: ...name].[ext]', }, ``` both of these two example above do the exact same thing, just usi...
(CD_NNU)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ... both of these two example above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[style] ~53-~53: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...k.github.io/docs/using-loaders.html). _For the sake of this doc, we're also going ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[typographical] ~61-~61: Consider adding a comma here.
Context: ...r file's resulting name after bundling. For now we're just going to use: ```javascript...
(FOR_NOW_COMMA)
[style] ~67-~67: In American English, abbreviations like “etc.” require a period.
Context: ...nsion of the original file (.png, .jpg, etc). Next we'll set the outputPath for ou...
(ETC_PERIOD)
docs/outdated/rails3.md
[style] ~3-~3: Consider using a different verb to strengthen your wording.
Context: # Rails 3 - Please let us know if you find any issues with Rails 3. - Rails 3 is c...
(FIND_ENCOUNTER)
[style] ~5-~5: Consider using a different verb to strengthen your wording.
Context: ...not testing it for new releases. If you find an issue, you will have to submit a PR ...
(FIND_ENCOUNTER)
docs/rails/rails-engine-integration.md
[grammar] ~36-~36: The word ‘install’ is not a noun.
Context: ...ture: target destination option for the install generator #459](https://github.com/shak...
(A_INSTALL)
docs/rails/turbolinks.md
[typographical] ~11-~11: It seems that a comma is missing.
Context: ... obsolete. # Using Turbo To configure Turbo the following option can be set: `React...
(IN_ORDER_TO_VB_COMMA)
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/testimonials/resortpass.md
[style] ~3-~3: Consider an alternative adjective to strengthen your wording.
Context: ...ted code that both works and reflects a deep understanding of the technologies and p...
(DEEP_PROFOUND)
[grammar] ~3-~3: “React” is a proper noun and needs to be capitalized.
Context: ...s and standards for our transition to a react on rails application. Just three months...
(A_GOOGLE)
spec/dummy/README.md
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install yarn dependencies ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: dummy-app-integration-tests (oldest)
- GitHub Check: dummy-app-integration-tests (newest)
- GitHub Check: examples (newest)
🔇 Additional comments (180)
spec/dummy/README.md (2)
25-25
: LGTM – Updated Command Instruction
The updated “yarn run dummy:install” command looks correct and consistent with the intended workflow.
38-43
: Improved Section Formatting for Asset Commands
The adjustments to the sections for static asset loading and test asset creation enhance readability and provide a clear visual separation between distinct tasks. No functional issues detected.docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md (1)
4-5
: Clear Guidance on Package Versions
The instructions now explicitly advise avoiding duplicate packages and ensuring that package versions align with those provided byshakacode/shakapacker
. The guidance is clear and no functional changes are indicated.docs/home.md (1)
1-28
: Overall Readability & Consistency Improvement
The added blank lines and spacing adjustments throughout the document enhance its readability. The updated capitalization (e.g. “Webpack”) helps maintain a consistent and professional tone. With the minor grammatical tweak noted above, the documentation looks well organized.🧰 Tools
🪛 LanguageTool
[grammar] ~22-~22: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...on_rails_demo_ssr_hmr) for a new way to setup the creation of your SSR bundle with `s...(NOUN_VERB_CONFUSION)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md (6)
6-6
: Whitespace Enhancement for Section Clarity
The added blank line at this point separates the header from the body text, which improves overall readability.
14-14
: Semicolon Consistency in Client Example
Adding a semicolon at the end of theReactOnRails.register({ App });
call ensures consistency with standard JavaScript practices.
22-22
: Semicolon Consistency in Server Example
The semicolon at the end of this registration call mirrors the client example, promoting a uniform coding style.
28-28
: Improved Section Spacing
The additional whitespace before the “Two Options for Using Webpack Resolve Alias…” section helps delineate sections and enhances readability.
61-61
: Formatting Improvement in Webpack Setup Instructions
The extra spacing before the example code block for updatingsetResolve
clarifies the separation between instructional text and code.
95-98
: Enhanced Readability in Conditional Code Block
The revised formatting within theif (window)
block clearly demarcates client-only code, making it easier for readers to identify conditional behavior.docs/getting-started.md (3)
10-10
: List Renumbering for Clarity
Updating the list to include the full-featured GitHub example (as item 4) makes the examples more comprehensive and easier to follow.
53-53
: Clarity in Environment Variable Instructions
Adding the explicit instruction to setEXECJS_RUNTIME=Node
ensures users configure their JS runtime correctly, which enhances setup clarity.
72-74
: Enhanced Configuration Guidance
The revised list items now clearly distinguish between when to adjustconfig/initializers/react_on_rails.rb
versusconfig/shakapacker.yml
and emphasize reliance on Shakapacker’s default setup. This extra detail aids users in tailoring their configuration based on their project's needs.docs/rails/rails-engine-integration.md (4)
3-3
: Clear Placement Instruction in Engine Integration
Specifying “At the top ofconfig/initializers/react_on_rails.rb
” directly clarifies where integration code should be added, which is helpful for users integrating React on Rails within an engine.
11-11
: Gemspec Dependency Clarification
Recommending the dependency update in<engine_name>.gemspec
ensures that engine users correctly declare thereact_on_rails
version requirement.
17-17
: Entry Point Guidance for Engine Setup
Clarifying that modifications should be made inlib/<engine_name>.rb
guides users to the proper entry point for their engine integration.
35-38
: Consistent Formatting of GitHub Issues Section
Reformatting the GitHub issues into clear bullet points enhances the document’s navigability, helping users quickly locate relevant integration discussions.🧰 Tools
🪛 LanguageTool
[grammar] ~36-~36: The word ‘install’ is not a noun.
Context: ...ture: target destination option for the install generator #459](https://github.com/shak...(A_INSTALL)
docs/guides/tutorial.md (6)
3-3
: Enhanced Emphasis for Additional Resources
Italicizing the note about the example repository makes this additional resource prominent, thereby aiding readers in discovering supplementary material.
5-5
: Clear Section Separation
The inclusion of a horizontal rule creates a visual break that segments introductory notes from subsequent content, improving the document’s structure.
7-7
: Up-to-Date Versioning Highlight
Emphasizing updated version information with italics ensures that readers are immediately aware of the current environment standards.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
7-7: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
16-18
: Updated Resource Links and List Formatting
Reformatting the resource links into distinct list items provides clearer and more accessible references to both the source code PR and the live Heroku demo.
60-60
: Clarification on Rails Application Setup
The added line stressing the creation of a fresh Rails application gives beginners clear guidance on the starting point for following the tutorial.
74-74
: Additional Database Setup Note
Noting the option to use--database=postgresql
offers users an extra tip on configuring their database, which is particularly useful for those starting a new app.docs/deployment/elastic-beanstalk.md (2)
3-4
: Clarified Yarn installation requirements.
The updated lines clearly state that yarn must be installed on every instance to prevent asset compilation failures. This enhances the readability and ensures that critical preconditions are communicated to the reader.
47-47
: Enhanced Nginx configuration guidance.
The added explanation about the location of React app JavaScript files underpublic/packs
and the subsequent configuration note for Nginx improves the overall clarity for deployment instructions.docs/misc/style.md (2)
2-7
: Enhanced formatting with clear bullet points.
The additions in the opening section and the bulleted list effectively break down the style guidelines and provide quick access to relevant resources—improving overall readability.
12-25
: Standardized style guidelines sections.
The structured presentation of the “Style Guides to Follow” and various coding standards (Ruby, JavaScript, Git, Sass) helps in navigating the document. The consistent bullet formatting and linked resources contribute to a clearer, more digestible layout.docs/javascript/react-helmet.md (12)
3-4
: Improved section separation for installation instructions.
The added spacing after the header “## Installation and general usage” makes the subsequent instructions more distinct and easier to follow.
8-10
: Enhanced clarity in example introduction.
The revision “Here is what you need to do in order to configure your Rails application to work with ReactHelmet” clearly sets expectations for the upcoming example.🧰 Tools
🪛 LanguageTool
[style] ~10-~10: Consider a shorter alternative to avoid wordiness.
Context: ...## Example Here is what you need to do in order to configure your Rails application to wor...(IN_ORDER_TO_PREMIUM)
12-12
: Clear server-rendering instruction.
The prompt “Create a render-function for server rendering like this:” directly prepares the reader for the following code example, thereby improving the instructional clarity.
26-26
: Consistent spacing after code blocks.
The additional spacing following the first code example helps segregate examples and commentary, contributing to better visual organization.
27-27
: Expanded explanation for helmet properties.
The note about adding more helmet properties (e.g. meta, base) and the reference to further documentation provides useful additional context for users looking to extend functionality.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
27-27: Bare URL used
null(MD034, no-bare-urls)
32-33
: Streamlined React component export syntax.
The concise arrow function used for the React functional component export simplifies the code, aligning with modern React practices.
46-48
: Clear distinction of an invalid implementation.
The note explaining why the provided function (that returns only a React element) doesn’t work is very helpful for users to avoid this common pitfall.🧰 Tools
🪛 LanguageTool
[formatting] ~46-~46: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ops}} /> ); ``` Note, this doesn't work, because this function just returns a React elem...(COMMA_BEFORE_BECAUSE)
55-57
: Guidance on integrating ReactHelmet into your app.
By instructing where to place the ReactHelmet component (with clear code block separation), the documentation now offers a more guided approach for component integration.
69-71
: Improved spacing enhances readability.
The whitespace following the export of theApp
component aids in the visual separation of content sections, making the document easier to scan.
77-79
: Clear generator registration.
The code snippet registeringReactHelmetApp
for the client side is succinct and straightforward, contributing to a consistent pattern across the document.
83-89
: Consistent server-side registration syntax.
The parallel registration block for the server side, along with its accompanying comment, reinforces the proper use ofReactHelmetApp
in both client and server contexts.
105-107
: Effective example for layout integration.
The Ruby snippet shows how to yield the title in your layout, which provides a clear and practical example for developers integrating server-generated title tags.docs/javascript/angular-js-integration-migration.md (2)
9-10
: Better section separation for styling guidelines.
The added spacing before the “Styling and CSS Modules” heading clearly delineates this section from the preceding content, aiding readability.
27-27
: Clear comparison of migration approaches.
The revised explanation in the “Overall Approach?” section succinctly outlines the trade-offs between replacing leaf-level versus larger chunks of components during migration.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (11)
9-11
: Enhanced Hot-Reloading DetailsThe updated bullet point clearly explains that the older
react-hot-loader
is deprecated in favor of fast-refresh. This addition, along with the link to the plugin’s documentation, improves clarity for developers setting up HMR.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
13-14
: Improved Emphasis on SSR ConditionsThe reworded lines now use strong formatting (bold and italics) to stress the “not using server-side rendering” condition. This helps readers quickly grasp the constraints for using the
bin/shakapacker-dev-server
.
23-23
: Clear Section Header for Unified Webpack SetupAdding the header “## If you use the same Webpack setup for your server and client bundles” helps in navigating configuration differences much more easily.
26-30
: Helpful Ruby Configuration SnippetThe added Ruby code snippet for setting
config.same_bundle_for_client_and_server = true
is succinct and instructive. It clearly shows developers how to configure their environment when using a unified bundle.
33-35
: Clear Mapping of Dev Server OptionsThe documentation now explicitly maps
dev_server.hmr
anddev_server.inline
to their corresponding webpack dev server options, which aids in understanding the necessary configuration.
40-42
: Added Error Examples for TroubleshootingInserting the specific error messages (e.g.,
ReferenceError: window is not defined
) provides concrete examples for why misconfigurations occur. This addition should help developers diagnose issues more rapidly.
47-60
: Step-by-Step HMR Setup InstructionsThe expanded instructions—including the code block showing the properties in
config/shakapacker.yml
—make the HMR setup process much clearer. Your organized, detailed steps now make it easier for users to follow along.
62-67
: Straightforward Package Installation GuidanceThe added instructions for installing the
@pmmmwh/react-refresh-webpack-plugin
andreact-refresh
packages are clear and concise.
68-87
: Comprehensive JavaScript ConfigurationThe JavaScript snippet that conditionally appends the
ReactRefreshWebpackPlugin
when running underWEBPACK_DEV_SERVER
is very clear and provides practical guidance. This code block enhances the documentation by showing real configuration logic.
90-98
: Clear Babel Plugin SetupThe Babel configuration snippet for adding the
react-refresh/babel
plugin is well-formatted and instructive. It clearly communicates how to integrate the plugin conditionally based on the environment.
105-116
: Compatibility and Testing ContextListing the versions and tools (babel, webpacker, bootstrap, etc.) with which the plugins have been tested is very helpful. It gives users confidence regarding the compatibility of the configuration.
docs/guides/i18n.md (8)
7-10
: Clear Ruby Snippet for JS I18n DirectoryThe Ruby code block that sets
config.i18n_dir
with an instructive inline comment is well presented and helps clarify where translation files should reside.
12-17
: Instructive Configuration for YAML I18n DirectoryThe added code snippet for
config.i18n_yml_dir
, complete with comments explaining its purpose, provides clear guidance on customizing the location of YAML i18n files.
24-27
: Enhanced Guidance on Startup Script AdjustmentsThe directions for adjusting your startup scripts (or CI configuration) to ensure locale files are built before the webpack process improves developer awareness about potential pitfalls.
37-40
: Concise YAML Safe Load Options ExampleThe configuration snippet for
config.i18n_yml_safe_load_options
is brief and to the point, which is very useful for ensuring secure YAML processing.
45-48
: Clear Output Format SpecificationThe added Ruby snippet setting
config.i18n_output_format
to"js"
is straightforward and helps reinforce the option to generate JavaScript locales.
52-59
: Well-Structured Dependency ConfigurationThe instructions for updating your
client/package.json
with the minimum supported versions forintl
andreact-intl
are clearly presented. This aids in ensuring that users include the correct dependencies.
63-83
: Comprehensive React-Intl Initialization ExampleThe detailed code block showing how to import locale data, initialize react-intl, and set up the
IntlProvider
makes the internationalization setup process very transparent and easy to follow.
85-93
: Clear Usage Example in a React ComponentThe usage example that demonstrates how to import and use default messages for internationalization in a React component is concise and practical.
docs/additional-details/recommended-project-structure.md (4)
5-13
: Clear Project Structure VisualizationThe code block presented in text format now neatly illustrates the recommended project directory structure. This visual guide is very helpful for new users.
18-24
: Step-by-Step Conversion InstructionsThe instructions for converting from generator defaults to using a
/client
directory are clear, and the corresponding steps (including themv
command) are laid out in an easy-to-follow manner.
26-30
: Concise YAML Configuration UpdateThe added YAML snippet showing how to change the
default/source_path
toclient
inconfig/shakapacker.yml
is succinct and aids clarity.
32-35
: Guidance on Node Modules MigrationThe instructions for moving the
/package.json
and creating a delegating/package.json
are practical. The related code block is helpful for users customizing their webpack configuration.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
32-32: Trailing punctuation in heading
Punctuation: '.'(MD026, no-trailing-punctuation)
README.md (14)
10-10
: Improved Visual SeparationThe insertion of a horizontal rule right after the initial sections (logos and badges) creates a cleaner separation between the header and the content that follows.
21-24
: Updated News Section with Key AnnouncementsThe updated News bullet points succinctly communicate the latest updates regarding React on Rails Pro, ShakaCode’s stewardship of the successor, and Rails 7 support. This increased clarity greatly benefits readers looking for recent developments.
25-28
: Enhanced Version Information FormattingBy adding a horizontal rule and italicizing version links, the updated formatting helps the reader distinguish between news updates and historical documentation.
29-34
: Consistent ‘About’ Section FormattingThe revised About section, with clear phrasing and consistent formatting, ensures that users quickly understand the purpose and heritage of the project.
35-40
: Clear Upgrade Support InformationThe “ShakaCode Upgrade Support” section now provides concise, clear details on the available services, making it easier for potential clients to understand the benefits.
41-44
: Useful External Engagement LinksThe inclusion of links to the Client Engagement Model and billing information is a valuable addition that directs users to further resources without clutter.
45-51
: Compelling React on Rails Pro SectionThe updated section on React on Rails Pro includes focused value propositions and clear call-to-action items. This revision not only improves readability but also highlights performance and cost–saving benefits.
52-55
: Straightforward Documentation ReferenceThe Documentation section is brief and directs users to explore additional resources via a clearly presented link.
56-60
: Concise Project Objective StatementThe Project Objective part now plainly communicates the framework’s high-performance goals and emphasizes benefits, enhancing overall understanding.
60-74
: Detailed Feature ListThe bullet list under “Features and Why React on Rails?” is comprehensive and succinct. It neatly outlines the benefits—from bundle optimization to SSR and community support—ensuring that readers quickly grasp the key advantages.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~66-~66: Possible missing comma found.
Context: ...ctly from your Rails view to your React components rather than having your Rails view load...(AI_HYDRA_LEO_MISSING_COMMA)
75-77
: Well-Outlined Online Demo InformationThe Online Demo section includes clear, actionable links to live implementations, which enhances the user’s ability to quickly verify project functionality.
78-81
: Clear Premium Content GuidelinesThe "ShakaCode Forum Premium Content" section now clearly states the requirement for creating a free account, ensuring that readers understand any prerequisites before accessing this content.
82-88
: Organized Support SectionThe Support section now features neatly formatted links and clear calls–to–action. The added line breaks and bullet points improve overall readability.
🧰 Tools
🪛 LanguageTool
[style] ~87-~87: Style-wise, it’s not ideal to insert an adverb (‘conditionally’) in the middle of an infinitive construction (‘to render’). Try moving the adverb to avoid split infinitives.
Context: ...lient-and-server-rendering/1352) - [How to conditionally render server side based on the device type](https://forum...(SPLIT_INFINITIVE)
104-116
: Consistent Concluding SectionsThe final sections—including Contributing, Work with Us, License, and Supporters—benefit from the consistent formatting and clear calls–to–action. These revisions collectively enhance the document’s clarity and navigability.
CONTRIBUTING.md (2)
3-5
: Improve Contributor Links Formatting
The newly added bullet items for the contributor docs links are clearly delineated, which enhances readability.
9-10
: Clarify Test-Setup Dependency
The additional line specifying that Yalc must be installed globally provides clear prerequisites for local development.docs/outdated/rails-assets.md (1)
37-39
: Helpful Note on Symlink Solution Removal
The newly added note clarifies that the symlink solution was removed in v14 and directs users to open a GitHub issue if interested. This addition improves documentation clarity.docs/misc/doctrine.md (3)
11-18
: Enhanced Spacing Improves Readability
The adjustments made after the “## Optimize for Programmer Happiness” header—with improved line breaks and spacing—make the section easier to scan and read.🧰 Tools
🪛 LanguageTool
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...(BOTH_AS_WELL_AS)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...org/#Constants) is a great language for client side coding, much more so than Ruby due to t...(EN_COMPOUND_ADJECTIVE_INTERNAL)
27-30
: Clearer Bullet List for Convention Section
The updated bullet list (lines 27–29) under “## Convention over Configuration” now explicitly outlines key points with clear links. This improves the document’s organization.🧰 Tools
🪛 LanguageTool
[uncategorized] ~27-~27: Write this as one word if you mean the noun “workout”.
Context: ...on - React on Rails has taken the hard work out of figuring out the JavaScript tooling ...(WORK_COMPOUNDS)
[grammar] ~27-~27: Using the adverb ‘altogether’ may be more appropriate in this context.
Context: ...u'd have to figure out how to splice it all together. This is where a lot of "JavaScript fat...(ALTOGETHER)
36-46
: Consistent Formatting in ‘The Menu Is Omakase’ Section
The reformatting of the “## The Menu Is Omakase” section, including a clear introductory line and well-structured bullet items, enhances readability and maintains consistency with other sections.docs/contributor-info/linters.md (2)
1-9
: Clear and Organized Linter Instructions
The revised introduction and instructions for using autofix with RuboCop and ESLint are clear, well-structured, and supportive of the ShakaCode Style Guidelines.
32-40
: Updated Severity Terminology Provides Clarity
Changing numeric severity values to string equivalents (e.g.'off'
,'warn'
,'error'
) in the ESLint configuration description improves clarity and aligns with current best practices.spec/dummy/client/README.md (2)
3-5
: Improved Section Header for ESLint
Promoting “# ESLint” to its own header immediately signals the start of a dedicated section, which helps readers quickly locate linting information.
9-10
: Consistent Reorganization of Linter Instructions
The updated “# Running linter” section with clear command examples makes it easier to understand how to run and autofix the linter.NEWS.md (2)
3-3
: Improved Introduction FormattingThe introductory sentence now uses italic formatting instead of bold. This subtle change enhances readability and aligns with modern documentation style guidelines.
5-9
: Enhanced Bullet Point StructureThe bullet points for the news entries have been reformatted with improved spacing and line breaks. This reorganization makes the timeline easier to read and understand.
docs/outdated/rails-assets-relative-paths.md (5)
40-41
: Consistent Quote Usage in Code SnippetsThe loader configuration now consistently uses single quotes for string literals (e.g.,
loader: 'file-loader?name=[name].[ext]',
), which improves consistency and readability throughout the snippet.
56-57
: Uniform Alias ConfigurationThe alias definition now uniformly applies single quotes, which is a nice touch for overall style consistency in the configuration code.
64-65
: Improved File Loader Naming OptionUpdating the name option to use single quotes (e.g.,
name: '[name][md5:hash].[ext]',
) makes the code more consistent. This change clarifies the intended format for bundled assets.
72-73
: Output Path Formatting ConsistencyThe addition of a trailing comma and consistent single-quote usage for the
outputPath
configuration helps ensure that the code style remains uniform across examples.
84-85
: Public Path StandardizationThe
publicPath
option is now clearly defined with single quotes and proper formatting, which enhances the overall clarity of the webpack configuration example.docs/contributor-info/pull-requests.md (2)
22-23
: Improved Commit Message Header LevelChanging the header for “The seven rules of a great git commit message” from level 4 to level 3 enhances its prominence in the document. This improves the document’s hierarchy and readability.
40-45
: Consistent Formatting for Documentation LinksThe reformatting of documentation links—with added plus signs and adjusted indentation—provides better visual structure and clarity. This makes it easier for contributors to locate referenced resources.
docs/guides/rails-webpacker-react-integration-options.md (7)
10-15
: Table Formatting EnhancementThe integration options table has been restructured for better alignment and spacing. This change makes it significantly easier for readers to compare the features and support levels of the various gems.
39-47
: Updated Component SyntaxThe example for the
Hello
component now uses parentheses around theprops
parameter and double quotes in JSX elements. These changes improve clarity and conform to modern React coding conventions.
48-55
: Clear Rendering LogicThe rendering code that retrieves the DOM node and parses the component’s data has been clarified. This enhanced clarity reduces ambiguity in how the React component is initialized and rendered.
112-116
: React Refresh Plugin Configuration ClarityThe instructions and code snippet for integrating the React Refresh Webpack Plugin are very clear. The conditional inclusion of the plugin based on the
WEBPACK_DEV_SERVER
environment variable is a thoughtful touch that improves the development workflow.
175-184
: Hot Loader Export AdjustmentThe diff for updating the component export to use the hot loader (i.e., wrapping the default export with
hot(App)
) is well presented. This change clearly sets up the component for hot reloading in development.
190-200
: Optimized Sass Loader OptionsThe diff updating the sass loader’s
sourceMapContents
option (setting it to false when module hot is not enabled) is a positive change toward optimizing the build process.
207-213
: React Hot Loader Alias ConfigurationMerging the environment configuration to alias
'react-dom'
to'@hot-loader/react-dom'
is an important update for ensuring full support of the React Hot Loader. This change improves the development experience when using hot reloading.package.json (4)
36-36
: Upgrade of eslint-config-prettierThe dependency
"eslint-config-prettier"
has been updated to version^10.1.1
, which should improve compatibility with the latest Prettier and ESLint features.
41-41
: Upgrade of eslint-plugin-prettierUpdating
"eslint-plugin-prettier"
to^4.2.1
supports the enhanced capabilities of the updated Prettier version. This improvement benefits the overall code quality checks.
48-48
: Removal of concurrentlyThe removal of the
"concurrently"
dependency simplifies script execution. Please ensure that any npm scripts formerly dependent on concurrently have been updated accordingly.
49-49
: Prettier Version UpgradeUpgrading Prettier to version
^3.5.2
will bring new features and formatting improvements. Make sure that any custom Prettier configurations or integrations are tested with this version.PROJECTS.md (1)
10-10
: Formatting Improvement on Support Message.
The updated italic formatting nicely emphasizes the support message.docs/javascript/server-rendering-tips.md (6)
6-9
: Clarification on DOM Restrictions.
The updated bullet clearly explains that server-side JS execution cannot referencedocument
—this is a helpful reminder for developers.
10-13
: Improved Guidance for Conditional Execution.
The instructions now clearly advise checking forwindow
or using the “railsContext” to avoid document-dependent code on the server.🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...(EN_COMPOUND_ADJECTIVE_INTERNAL)
19-20
: Troubleshooting Steps Are Clear.
The two-step instructions for troubleshooting server rendering issues are concise and actionable.
23-24
: CSS Extraction Requirement is Clear.
The statement emphasizes that server bundles must always have CSS extracted, which is both necessary and well-expressed.
28-31
: Enhanced Example for Polyfilled Timeouts.
The example clarifying the polyfill behavior forsetTimeout
is detailed and helpful for understanding server-side logging in trace mode.
32-45
: Comprehensive Terminal Output Example.
The extended code block with terminal output provides a clear illustration of how server logs look whensetTimeout
is called.docs/additional-details/generator-details.md (1)
56-56
: Clarification on Redux Folder Inclusion.
The note about additional Redux folders when using the--redux
option is clear and helpful.docs/guides/render-functions-and-railscontext.md (6)
24-28
: Correct Functional Component Syntax with Hooks.
The refactored declaration ofMyAppComponent
(returning a function to enable Hooks) is clear and correctly structured.
31-36
: JSX Return Structure is Clear.
Wrapping the JSX return in a function enhances clarity for proper hook usage in React function components.
46-59
: Alternate API Syntax is Clearly Demonstrated.
The alternate implementation usingReact.createElement
is well formatted and illustrates a valid alternative approach.
115-117
: Clear ERB Example for Rails View Integration.
The ERB snippet succinctly shows how to invokereact_component
with props, which helps clarify integration.
146-152
: Consistent Function Declaration for Enhanced Rails Context.
The updated declaration ofAppComponentWithRailsContext
using an arrow function and spread operator is concise and clear.
157-157
: JSX Spread Operator Usage is Clear.
The demonstration of the spread operator for merging props withrailsContext
is both concise and correct.docs/release-notes/15.0.0.md (14)
6-6
: Enhanced RSC Feature Highlight.
The new bullet point for React Server Components support immediately captures the attention for this major feature.
8-8
: Clear Call-to-Action for RSC Integration.
The revised line “Experience the future of React with full RSC integration…” sets clear expectations about the new feature.
9-12
: Concise Feature List for React Server Components.
The bullet list succinctly outlines the key benefits of using React Server Components, which enhances overall readability.
15-15
: Highlight on Hydration Improvements.
The heading “Improved Component Hydration” now effectively draws attention to the key updates in hydration behavior.
17-22
: Clear List of Hydration Benefits.
The bullet points clearly enumerate improvements such as immediate hydration and support forasync
scripts, which is very informative.
27-28
: Detailed Explanation of Hydration Configuration Changes.
The update explaining the new default values fordefer_generated_component_packs
andforce_load
is clear and well articulated.🧰 Tools
🪛 LanguageTool
[uncategorized] ~28-~28: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...l hydrate early without waiting for the full page load. This improves performance by elim...(EN_COMPOUND_ADJECTIVE_INTERNAL)
29-31
: Improved Documentation on Hydration Behavior.
The additional details on eliminating deferred scripts help clarify how hydration timing has been optimized.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
33-33
: Configuration Flexibility Highlighted.
The note on overriding default behavior for individual components is useful for developers needing custom behavior.
34-34
: Redux Store Force Load Option Explained.
The clarification regarding the Redux store’s support for theforce_load
option is informative and clear.
36-36
: Async Hydration Function Noted.
Emphasizing thatReactOnRails.reactOnRailsPageLoaded()
is now asynchronous is important for developers to adjust their code accordingly.
37-45
: Code Example for Async Hydration Usage.
The updated code block clearly demonstrates the proper usage ofawait
withReactOnRails.reactOnRailsPageLoaded()
.
66-69
: Clarification on Redux Store Dependencies.
The explanation of how components depend on all previously created stores by default is now much clearer.
71-86
: Optimal Redux Store Dependency Strategy.
The provided code example illustrates how to explicitly declare store dependencies, which can help optimize component hydration.
88-89
: Performance Benefit of Declaring Store Dependencies.
The concluding statement effectively communicates the performance improvements when components are not forced to wait for store hydration.docs/rails/turbolinks.md (14)
4-7
: Enhanced PR References and Turbo Introduction
The updated bullet points referencing PR 1620 and PR 1374, followed by the note on Turbo support, improve clarity by directly informing readers about the historical context and future direction. Please double‐check that these links remain current.
20-23
: Legacy Turbolinks Section Update
The rephrased legacy section—suggesting that the docs may be outdated and recommending update or removal of Turbolinks—is concise and informative. Ensure this guidance remains aligned with your current supported versions.
27-28
: Performance Benefits Explanation
The description of how switching between Rails HTML requests avoids reloading JavaScript and stylesheets is succinct and effectively highlights performance benefits.
32-33
: Requirements Checklist for Turbolinks Usage
The checklist outlining the need to avoid conflicts with react‑router and to use a single JS/CSS file is clear and helpful.
48-56
: Installation Checklist Update
The reformatted installation checklist—with explicit instructions and code blocks for including Turbolinks with proper tracking attributes—greatly improves readability and consistency.
65-65
: Turbolinks 5 Support Announcement
The concise statement that “Turbolinks 5 is now supported...” clearly communicates the upgrade and is well placed.
75-77
: NPM Import Example Clarification
The snippet showing how to import and start Turbolinks from NPM is appropriately concise. If any additional setup is required, consider noting it briefly.
79-84
: Async Script Loading Strategy
The revised section on asynchronously loading scripts, along with its code snippet, simplifies the previous approach. This clarity is beneficial for production setups.
86-89
: Defer Attribute Workaround
The recommendation to usedefer
instead ofasync
to mitigate the initial load issue is clear and practical.
95-100
: Component Re-Initialization on Turbolinks Load
The code snippet demonstrating the use ofReactOnRails.reactOnRailsPageLoaded()
to re-initialize components after a Turbolinks load is well explained.
123-128
: DefinePlugin Configuration for Debugging Flags
The diff introducingnew webpack.DefinePlugin({ TRACE_TURBOLINKS: devBuild })
cleanly integrates dynamic configuration into the build process. Ensure that this change is consistently reflected in related documentation.
137-140
: Classic Turbolinks Logging Example
The log output example for classic Turbolinks offers a clear indicator that the proper event handlers have been installed.
143-146
: Turbolinks 5 Logging Example
The updated logging messages for Turbolinks 5 effectively distinguish them from the classic version, aiding in debugging.
151-151
: Visual Confirmation Through Image
Adding the image to demonstrate that Turbolinks handlers are only installed once is a strong visual aid that supports the textual explanation.docs/guides/upgrading-react-on-rails.md (29)
4-4
: Assistance for Migration Inquiry
The new “Need Help Migrating?” section provides direct contact information and clearly advertises the availability of React on Rails Pro support. This is a great addition for users seeking expert help.
24-24
: Recent Versions Reminder for v12
The heading “### Recent versions” underscores the need to use modern Rails and Webpacker versions. This change effectively orients users in the correct upgrade path.
30-30
: Configuration Removal Guidance
Advising users to removeconfig.symlink_non_digested_assets_regex
from their initializer is straightforward. A pointer to where further troubleshooting advice might be found could be beneficial.
34-34
: i18n Default Format Update
The instruction to setconfig.i18n_output_format = 'js'
is clear. It might be useful to note that updating usage later to JSON improves performance.
49-52
: Updating Render Function Registration (Case 1)
The revised example for functions that take zero or one parameter and return a React Element is now clearly demarcated with a code block. This helps clarify that no migration is needed for these cases.
53-53
: Guidance for Render Function Returning an Object
The updated explanation that functions returning an Object must include extra unused parameters (to have exactly 2) is detailed and instructive.
61-65
: Corrected Registration Function for Object Returns
The code block showing how to correctly wrap the returned object to guarantee exactly 2 parameters is well presented.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ion will be treated as a render function and it can return an Object rather than a R...(COMMA_COMPOUND_SENTENCE)
70-73
: Alternate Registration Syntax Example
Providing an alternative, yet equivalent, pattern reinforces the migration guidance and ensures clarity regarding parameter count in render functions.
78-80
: Migration for Function Component Returns
The revised example for functions that must return a React component (via an additional function wrapper) is succinct and clear.
93-94
: Common Pitfall Example – JSX Literal Export
The updated “Broken” example correctly illustrates the error that results from exporting a JSX literal instead of a component. This clear example should help prevent misimplementation.
106-107
: Corrected Pure Component Registration
The corrected example wrapping<Component {...props} />
in an extra function call avoids common pitfalls.
114-114
: Section Separator for Clarity
The use of---
as a section separator is simple and effective in visually breaking up the content.🧰 Tools
🪛 LanguageTool
[uncategorized] ~114-~114: A comma might be missing here.
Context: ... {...props} />` in a function call like this which results in the return value being...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
117-117
: Custom Webpack Build File Heading
The change to “### Custom Webpack build file” immediately signals that configuration details are coming, which improves navigability.
119-124
: Webpack Build Configuration Example
The updated YAML snippet showing how to enable CSS extraction is clear and provides a concrete example for users with custom builds.
127-129
: v11 Upgrade – Removal and Deprecation Notices
The bullet points outlining removal ofserver_render_method
, ENV usage, and utility functions are straightforward. This alerts users to breaking changes that could impact their deployment.
134-135
: v10 Upgrade – Component Function Name Change
The concise instruction to switch fromreact_component
toreact_component_hash
where applicable is clear.
140-142
: Webpacker Value Proposition Clarification
The revised bullet points articulate the benefits of using Webpacker—such as view helpers and a streamlined configuration—more clearly.
149-157
: Maintaining the/client
Directory
The step-by-step instructions for keeping yourclient
directory (including edits to various files) are now very detailed. Double-check that the guidance covers all common project configurations.
161-170
: Client Webpack Config Setup
The “###### Client Webpack config:” section, along with the code snippet that reads from the webpack configuration usingreact-on-rails/webpackConfigLoader
, is a very practical addition.
172-180
: Client Webpack Output Rules
The instructions showing how to use theoutput
variable for setting filenames (with[chunkhash]
for cache busting) are clear and follow best practices.🧰 Tools
🪛 LanguageTool
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ...config/initializers/react_on_rails.rb
: - Delete `config.generated_assets_dir...(UNLIKELY_OPENING_PUNCTUATION)
[grammar] ~178-~178: The verb ‘Replace’ is plural. Did you mean: “replaces”? Did you use a verb instead of a noun?
Context: ...onfig now supplies this information - Replace `config.npm_build_(test|production)_com...(PLURAL_VERB_AFTER_THIS)
[uncategorized] ~179-~179: A comma might be missing here.
Context: ...commend setting dev_server.hmr to false however since HMR is currently broken. - `clien...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...urrently broken. -client/package.json
: bumpreact_on_rails
(I recommend bump...(UNLIKELY_OPENING_PUNCTUATION)
181-189
: ManifestPlugin Usage for Client Bundling
The snippet detailing the configuration forwebpack-manifest-plugin
is concise and correctly placed.
190-191
: Asset Loader Configurations
The updated guidance for adjustingurl-loader
,file-loader
, and related plugins for proper public paths is helpful.
195-206
: Replacing the/client
Directory Option
The two alternative approaches—either moving source code and linter configs or deleting the webpack config—are clearly laid out. This flexibility is valuable for different project setups.
214-218
: Breaking Configuration Changes Overview
The bullet points summarizing new configuration properties (such asconfig.node_modules_location
) and the renaming of build commands provide a clear outline of breaking changes.
226-236
: WebpackConfigLoader Renaming Details
The list of property renamings (e.g.webpackOutputPath
tooutput.path
,hotReloadingUrl
tooutput.publicPathWithHost
, etc.) is comprehensive and aids in migration. Verify these changes against your actual webpack configuration output.
279-285
: Configuring Webpack’s Output Rules
The snippet that sets the output filename patterns—with a distinction between HMR and production builds—is well illustrated.
289-295
: ManifestPlugin Configuration
This example shows how to instantiate theManifestPlugin
with the appropriate public path and file emission settings. The configuration is easy to follow.
298-308
: Default webpacker.yml Migration Guidance
The revised instructions for renamingwebpacker_lite.yml
towebpacker.yml
and suggestions for settingcompile: false
(plus production cache settings) streamline the migration process.🧰 Tools
🪛 LanguageTool
[duplication] ~300-~300: Possible typo: you repeated a word.
Context: ...packer.yml - If you are not using the webpacker webpacker setup, be sure to put in `compile: fals...(ENGLISH_WORD_REPEAT_RULE)
38-39
: Reference URL Formatting
Converting the list markers from asterisks to hyphens for the provided URLs enhances consistency throughout the document.docs/guides/webpack-configuration.md (1)
25-27
: Improved phrasing and formatting for clarity.
- On line 25, the redundant phrasing has been removed (i.e. “in the the” is corrected to “in the”), and the instruction is now concise:
"If you follow the basic tutorial, you will see this pattern in action. In order to customize the Webpack configuration, consult Webpack Tips."- On line 27, the use of underscores (i.e. advantage) provides consistent emphasis.
Both changes significantly enhance readability and align with the objective of this PR.
🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
ed467d0
to
2da32e5
Compare
2da32e5
to
8e9e24d
Compare
|
||
## Per Github. | ||
|
||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should I add a link like https://github.com/search?q=gem+react_on_rails&ref=advsearch&type=repositories&utf8=%E2%9C%93 instead of removing?
Or we could include https://rubygems.org/gems/react_on_rails/reverse_dependencies and https://www.npmjs.com/browse/depended/react-on-rails.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can add both of them as examples to projects based on ROR at GitHub and rubygems
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Included in ee95017.
app/javascript: | ||
├── bundles: | ||
│ # Logical groups of files that can be used for code splitting | ||
│ # Logical groups of files that can be used for code splitting |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It had non-breaking space.
bf02895
to
ee95017
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
6332d90
to
6591581
Compare
de23424
to
403d323
Compare
6591581
to
240b67d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (22)
docs/javascript/webpack.md (1)
13-13
: Insert a Missing Comma for Improved ClarityThe sentence in this block would read more clearly with a comma after "vendor bundle". Consider updating the sentence as follows:
-You should ensure you configure the entry points correctly for Webpack if you want to break out libraries into a "vendor" bundle where your libraries are packaged separately from your app's code. +You should ensure you configure the entry points correctly for Webpack if you want to break out libraries into a "vendor" bundle, where your libraries are packaged separately from your app's code.This small punctuation tweak will enhance readability and aligns with the static analysis suggestion.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md (2)
51-51
: Refine and Simplify the Phrasing for Clarity
The updated line now reads:"Both examples above do the exact same thing, just using different syntaxes. For the rest of this doc we will be using the JSON object style. For more information about webpack loaders, read this."
Two minor suggestions:
- The phrase “exact same thing” can be shortened to a more concise alternative (e.g. “are identical”) for improved clarity.
- Consider checking if a comma is needed after the descriptive clause.
A possible diff is:
-Both examples above do the exact same thing, just using different syntaxes. +Both examples above are identical, using different syntaxes.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
[uncategorized] ~51-~51: Possible missing comma found.
Context: ...ifferent syntaxes. For the rest of this doc we will be using the JSON object style....(AI_HYDRA_LEO_MISSING_COMMA)
67-67
: Enhance Consistency in Asset Naming Description
The updated line now reads:"This will just set the name to the file's original name + a md5 digested hash + the extension of the original file (.png, .jpg, etc)."
A small improvement would be to capitalize “MD5” and add an article before it for consistency and clarity. For example:
-This will just set the name to the file's original name + a md5 digested hash + the extension of the original file (.png, .jpg, etc). +This will just set the name to the file's original name + an MD5-digested hash + the extension of the original file (.png, .jpg, etc).This change promotes standard formatting and consistency in technical documentation.
docs/javascript/foreman-issues.md (2)
11-11
: Enhance Clarity and Grammar in the Bullet PointThe current sentence can be improved for better readability. Consider rephrasing it to include an appropriate article and progressively change "finish upload file" to "finish uploading the file" for natural flow. For example:
- With `foreman 0.82.0` npm `react-s3-uploader` was failing to finish upload file to S3 when the server was started by `foreman -f Procfile.dev`. + With `foreman 0.82.0`, the npm package `react-s3-uploader` was failing to finish uploading the file to S3 when the server was started by `foreman -f Procfile.dev`.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...(AI_HYDRA_LEO_MISSING_A)
12-12
: Improve Punctuation for Enhanced ReadabilityPlacing a comma after the introductory phrase will improve the sentence’s flow. Consider updating the line as follows:
- At the same time the same code works fine when the Ruby server is started by `bundle exec rails s`. + At the same time, the same code works fine when the Ruby server is started by `bundle exec rails s`.🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: Possible missing comma found.
Context: ...foreman -f Procfile.dev`. At the same time the same code works fine when the Ruby ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/server-rendering-tips.md (3)
12-14
: Enhance Consistency in Compound Adjectives and Terminology
In these lines, consider consistently hyphenating compound adjectives such as “top-level” (e.g., "top-level React component") to align with common style guides. Additionally, verify if the phrase “props Hash” should be standardized (such as “props hash” or simply “props”) for improved consistency.🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...(EN_COMPOUND_ADJECTIVE_INTERNAL)
19-20
: Clarify Troubleshooting List Items
The troubleshooting steps are now clearly delineated. As noted by the static analysis hint, double-check that punctuation—particularly any commas in list introductions—matches your style guidelines to ensure maximum clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...(AI_HYDRA_LEO_MISSING_COMMA)
24-24
: Verify Terminology Case Consistency
The line “Server bundles must always have CSS Extracted.” now includes a period for consistency. Consider whether “Extracted” should be in lowercase (i.e. “extracted”) to match typical styling, unless it is meant as a proper term.docs/getting-started.md (3)
98-98
: Consistency in Naming: Capitalize "ReactOnRails"
The revised sentence improves clarity. For consistency with code references such asReactOnRails.register
, consider changing:- ... via the react_on_rails Webpack configuration ... + ... via the ReactOnRails Webpack configuration ...This small adjustment will help maintain a uniform naming convention throughout the documentation.
🧰 Tools
🪛 LanguageTool
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...(A_GOOGLE)
142-142
: Grammatical Improvement: Add Definite Article
In the sentence regarding server-rendered components, adding the word "the" before "client side" will improve readability. Consider this change:- server side versus client side + server side versus the client side🧰 Tools
🪛 LanguageTool
[uncategorized] ~142-~142: You might be missing the article “the” here.
Context: ...nents running on the server side versus client side. For example, if you have an anima...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
144-144
: Hyphenation for Compound Adjective
For clarity and consistency, hyphenate "server-side" when it is used as an adjective. For example, update the phrase:- different server side entry file + different server-side entry fileThis minor adjustment aligns with standard grammatical conventions for compound adjectives.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~144-~144: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (2)
11-11
: Enhanced Plugin Reference Clarity
The updated text now clearly directs users to thereact-refresh-webpack-plugin
documentation. Optionally, consider hyphenating "Client Side" to "Client-Side" for consistency with later headings.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
103-103
: Optional Punctuation Enhancement for Fallback Instructions
The fallback instruction is clear; however, you might consider adding commas around "for some reason" (e.g., "If, for some reason, the plugin doesn't work...") to improve readability.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
docs/guides/upgrading-react-on-rails.md (1)
133-133
: Grammar Improvement: Use "set up" Instead of "setup"
In the sentence “...if you are not using rails/webpacker to setup your Webpack configuration,” consider changing “setup” (a noun) to “set up” (the verb). This improves grammatical accuracy.-... to setup your Webpack configuration. +... to set up your Webpack configuration.🧰 Tools
🪛 LanguageTool
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...(NOUN_VERB_CONFUSION)
docs/guides/webpack-configuration.md (2)
25-25
: Simplify the Instruction for Customizing Webpack Configuration
The sentence at line 25 is a bit wordy. Consider simplifying it to streamline the instruction for users. For example, replace “In order to customize the Webpack configuration, consult Webpack Tips.” with “To customize the Webpack configuration, see Webpack Tips.”-In order to customize the Webpack configuration, consult [Webpack Tips](../javascript/webpack.md). +To customize the Webpack configuration, see [Webpack Tips](../javascript/webpack.md).🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
31-33
: Insert a Comma for Improved Readability
The sentence describing the changes in version 9 would be clearer with a comma. Consider modifying the sentence as follows to separate the clause:-Version 9 changed the default to `/` for the `node_modules` location using this value in `config/initializers/react_on_rails.rb`: `config.node_modules_location`. +Version 9 changed the default to `/` for the `node_modules` location, using this value in `config/initializers/react_on_rails.rb`: `config.node_modules_location`.This small edit can help improve the sentence structure and readability.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to/
for thenode_modules
location using this value in `config/initializer...(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md (5)
28-29
: Performance Explanation Enhancement
The explanation of Turbo’s performance benefits is now more detailed. However, the phrase "This definitely can make an app perform better" could be rephrased for a more formal tone, for example:"This can significantly improve application performance, even though cached JavaScript and stylesheets still require parsing."
🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
33-34
: Clear Requirements for Using Turbolinks
The requirements are now clearly stated. Consider revising informal language such as "figure out how best" to a more formal alternative like "determine the optimal approach" when managing multiple JS and CSS files, which would enhance professionalism.
38-39
: List Numbering Consistency in 'Why Not Turbolinks' Section
Both items in this section are numbered "1." For clarity and consistency in documentation, please adjust the numbering (e.g., 1. and 2.) or use auto-numbering to ensure the list items are properly ordered.
43-45
: Detailed Explanation on CSRF and Request Headers
The additional notes about CSRF token handling and request headers are comprehensive. To further improve readability, consider:
- Breaking up the longer sentence in line 43 into two sentences.
- Inserting a comma before "and" in "there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5" to clarify the compound structure.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
154-156
: Advisory on jQuery Usage and Image Alt Text
The advisory about issues with RubyGem versions of jQuery and jQuery ujs is helpful. Additionally, consider enhancing the alt text for the image to improve accessibility; for example, changing it to:"Diagram demonstrating that Turbolinks handlers are installed only once"
docs/release-notes/15.0.0.md (1)
31-35
: Clarify and tighten phrasing in the force_load configuration section.In line 34 the sentence is split into two fragments. For improved readability and grammatical correctness, consider merging them and adding “the” before
config.force_load
. For example:- - Redux store now supports `force_load` option, and uses `config.force_load` value as the default value. Which means that the Redux store will hydrate immediately as soon as its server-side data reaches the client. + - Redux store now supports `force_load` option, and uses the `config.force_load` value as the default, meaning that the Redux store will hydrate immediately as soon as its server-side data reaches the client.This change enhances clarity and flow.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (54)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(1 hunks)CONTRIBUTING.md
(2 hunks)NEWS.md
(3 hunks)PROJECTS.md
(1 hunks)README.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(4 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/view-helpers-api.md
(1 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(2 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(1 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(4 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/render-functions-and-railscontext.md
(1 hunks)docs/guides/upgrading-react-on-rails.md
(4 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(3 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/rails-assets-relative-paths.md
(2 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
✅ Files skipped from review due to trivial changes (1)
- node_package/src/registerServerComponent/server.ts
🚧 Files skipped from review as they are similar to previous changes (38)
- spec/dummy/Procfile.dev-static
- docs/home.md
- docs/additional-details/updating-dependencies.md
- lib/react_on_rails/helper.rb
- docs/api/view-helpers-api.md
- docs/javascript/react-and-redux.md
- README.md
- lib/generators/USAGE
- docs/guides/i18n.md
- docs/outdated/rails-assets.md
- docs/guides/client-vs-server-rendering.md
- CONTRIBUTING.md
- docs/additional-details/recommended-project-structure.md
- docs/guides/render-functions-and-railscontext.md
- node_package/src/StoreRegistry.ts
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- docs/additional-details/generator-details.md
- docs/contributor-info/generator-testing.md
- spec/dummy/client/README.md
- CHANGELOG.md
- docs/additional-details/manual-installation-overview.md
- NEWS.md
- node_package/src/ComponentRegistry.ts
- lib/tasks/assets.rake
- docs/deployment/elastic-beanstalk.md
- .github/workflows/main.yml
- docs/guides/rails-webpacker-react-integration-options.md
- node_package/src/Authenticity.ts
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/javascript/angular-js-integration-migration.md
- docs/contributor-info/pull-requests.md
- docs/misc/tips.md
- docs/javascript/capistrano-deployment.md
- node_package/src/context.ts
- docs/guides/file-system-based-automated-bundle-generation.md
- node_package/src/ReactOnRails.client.ts
- docs/outdated/webpack-v1-notes.md
- docs/javascript/react-router.md
🧰 Additional context used
🪛 LanguageTool
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...
(EN_EXCESSIVE_EXCLAMATION)
docs/getting-started.md
[grammar] ~98-~98: “React” is a proper noun and needs to be capitalized.
Context: ... how you expose your components via the react_on_rails Webpack configuration. You may...
(A_GOOGLE)
[uncategorized] ~142-~142: You might be missing the article “the” here.
Context: ...nents running on the server side versus client side. For example, if you have an anima...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~144-~144: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...iguration file that can use a different server side entry file, like 'serverRegistration.js...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/upgrading-react-on-rails.md
[grammar] ~133-~133: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...(https://github.com/rails/webpacker) to setup your Webpack configuration. ```yml def...
(NOUN_VERB_CONFUSION)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to /
for the node_modules
location using this value in `config/initializer...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...
(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~12-~12: Possible missing comma found.
Context: ...foreman -f Procfile.dev`. At the same time the same code works fine when the Ruby ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/server-rendering-tips.md
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/webpack.md
[uncategorized] ~13-~13: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[uncategorized] ~51-~51: Possible missing comma found.
Context: ...ifferent syntaxes. For the rest of this doc we will be using the JSON object style....
(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: dummy-app-integration-tests (newest)
- GitHub Check: dummy-app-integration-tests (oldest)
- GitHub Check: rspec-package-tests (newest)
- GitHub Check: examples (newest)
- GitHub Check: rspec-package-tests (oldest)
🔇 Additional comments (34)
node_package/src/types/index.ts (1)
36-37
: Improved type declarations using Record utility typeThe changes replace index signatures (
{ [id: string]: string }
) with the TypeScriptRecord<string, string>
utility type. This is a positive change that enhances type clarity while maintaining the same functionality.This refactoring:
- Follows TypeScript best practices
- Makes type declarations more consistent across the codebase
- Improves readability without changing behavior
Also applies to: 171-171, 173-174, 184-184
docs/javascript/react-helmet.md (3)
91-93
: Clarification on Component Return Type
The revised sentence now clearly explains thatreact_component_hash
returns a hash instead of an HTML string. This clarification helps avoid any ambiguity regarding the need for specifying prerender.🧰 Tools
🪛 LanguageTool
[uncategorized] ~91-~91: Possible missing comma found.
Context: ...ed with "ReactHelmetApp" as a first argument it will return a hash instead of an HTM...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
95-101
: Adoption oferbruby
Code Block Syntax
Switching the code block language from a generic Ruby marker toerbruby
improves syntax highlighting and conveys that the snippet contains embedded Ruby (ERB) code. This change enhances overall readability and aligns the documentation with the intended usage context.
105-107
: Consistent Formatting for Embedded Ruby Blocks
The update to useerbruby
for this code snippet ensures consistency across the document, clearly indicating that these blocks are meant for ERB templates. This not only improves clarity but also aids users in correctly interpreting the code examples.docs/contributor-info/linters.md (11)
10-10
: Clearer RuboCop Directory Instruction
The updated line now specifies that you should be in the correct directory ("usually the top level") where the Ruby files reside. This change replaces an ambiguous phrase with a more definitive instruction.
12-14
: Added RuboCop Autofix Command
The new code block with therubocop -a
command is a great addition for clarity. It clearly demonstrates how to invoke autofix for RuboCop with proper formatting using thebash
code block.
16-16
: Improved ESLint Directory Instruction
The instruction now clearly advises being in the correct directory where your JS files are located. This enhancement contributes to the overall readability and user guidance in the document.
18-20
: ESLint Autofix Command Code Block
Adding the code block foreslint --fix .
provides a practical example for users, allowing them to quickly see how to automatically apply ESLint fixes.
24-26
: Alternative ESLint Autofix Command
The additional code snippet showingnpm run lint -- --fix
offers an alternative command that might be more suitable for projects leveraging npm scripts. This increases the document’s flexibility for different workflows.
32-33
: Updated ESLint Reference Link
The modified sentence now directs users to the ESLint website for more information, which is a helpful resource link. Ensure the URL stays current going forward.
36-37
: Enhanced Documentation Reference
Providing a direct link to the official ESLint documentation on configuring rules is a strong improvement. It helps users immediately access detailed configuration guidance.
38-38
: Clear Explanation of ESLint Rule Severity
The explanation now clearly states that rule severities should be set with string values ('off', 'warn', or 'error'), while noting the older numeric equivalents. This clarification is valuable for new users.
40-40
: Detailing Additional ESLint Options
The added explanation that rules can also take further options (by being defined as an array with the severity as the first element) further enhances clarity around ESLint configuration.
70-70
: Consistent RuboCop Section Header
The updated header## RuboCop
clearly delineates the RuboCop section from the ESLint section, contributing to an improved document structure and readability.
72-73
: Direct RuboCop Website Link
Linking directly to the RuboCop website is an excellent resource for contributors looking for further details.docs/javascript/server-rendering-tips.md (3)
7-8
: Improved Clarity on Document Access Limitations
The updated text clearly explains that server-side JS execution does not have access todocument
and highlights that libraries such as jQuery won’t work. This enhancement makes the limitation more obvious for readers.
28-30
: Improved Explanation for Polyfilled Timer Methods
The revised explanation clarifies thatsetTimeout
,setInterval
, andclearTimeout
are polyfilled to be no-ops in server rendering—complete with a practical example. This change enhances readability and helps users understand the behavior during server-side execution.
1-57
: Overall Documentation Readability Enhancements
The comprehensive changes throughout the file—ranging from improved hyphenation and grammar to clearer explanations—effectively enhance documentation readability and consistency. These revisions support the intended improvements without altering functional content.🧰 Tools
🪛 LanguageTool
[uncategorized] ~12-~12: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d or using the "railsContext" in your top level React component. Since the passed in pr...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...(AI_HYDRA_LEO_MISSING_COMMA)
docs/getting-started.md (1)
74-74
: Standardization of "Webpack" Capitalization
This update now displays "Webpack" with a capital "W" when referring to the configuration file, which aligns with the project's guidelines for proper noun capitalization and enhances overall consistency.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (4)
19-21
: Clear Introduction to Server-Side Rendering Options
The revised sentence effectively introduces the available options for server-side rendering, making the documentation easier to follow.
28-30
: Proper Ruby Code Block Formatting
Specifyingruby
for the code block and presenting the configuration (config.same_bundle_for_client_and_server = true
) enhances clarity and readability.
75-75
: Improved Comment Spacing for Consistency
The adjustment to "// plugins
" with added spacing improves the visual consistency of the code snippet.
101-101
: Clarified Browser Reloading Behavior
The revision now clearly explains that changes in both.js
and.css
files are reflected without a full page reload.docs/guides/upgrading-react-on-rails.md (1)
40-42
: Clarify the Removal of the i18n Helper Configuration
The removal of the line instructing users to setconfig.i18n_output_format = 'js'
appears intentional, likely because the default output format has moved to JSON. Please confirm that the rest of the documentation (and any related migration guides) has been updated accordingly.docs/rails/turbolinks.md (6)
7-7
: Improved Clarity on Turbo Adoption
The updated bullet point clearly explains that Turbo (@hotwired/turbo
) is now supported as Turbolinks becomes obsolete. This improves the messaging and helps users understand the transition.
66-66
: Turbolinks 5 Support Clarification
The note "Turbolinks 5 is now supported" is concise and effectively informs users about automatic version detection and appropriate event handler usage.
81-81
: Async Script Loading Documentation
The instruction on async script loading using Shakapacker 8.2 is clear and adds useful version-specific context to the documentation.
87-87
: Workaround for Initial Event Listener
The explanation of the workaround—usingdefer
instead ofasync
for React on Rails versions below 15—is clear and provides necessary context for users experiencing related issues.
103-103
: Recommendation for Removing Obsolete Listeners
This update clearly advises that, with React on Rails 15, the event listener is no longer needed and should be removed sincereactOnRailsPageLoaded()
is now async.
105-107
: Effective Warning Block
The warning block regarding the use offorce_load: false
with async scripts is well formatted and clear.docs/release-notes/15.0.0.md (2)
37-52
: Improve async function usage example for reactOnRailsPageLoaded.The updated example clearly illustrates the “before” and “after” approaches when calling
ReactOnRails.reactOnRailsPageLoaded()
. One small suggestion: remind users that the calling context must be marked asasync
to useawait
.
77-89
: Enhance presentation of explicit store dependency declarations.The updated code snippet now effectively shows that while
ReduxApp
automatically depends onSimpleStore
, the componentComponentWithNoStore
explicitly declares no dependencies. The inline commentary is very helpful for users.PROJECTS.md (2)
58-59
: Introduce GitHub search link for repos usingreact_on_rails
.The newly added bullet provides a convenient link to search for repositories using
react_on_rails
, which enhances discoverability. Please ensure the capitalization of “GitHub” remains consistent as a proper noun.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
60-63
: Include a Reverse Dependencies section for additional context.Adding the “Reverse dependencies” section with links to both Gems and NPM packages is a valuable update. This section helps users quickly identify packages that depend on
react_on_rails
. It would be good to verify periodically that these URLs remain current.
fe2dbc6
to
c38a122
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
docs/javascript/react-router.md (1)
40-40
: Editorial suggestion: Sentence restructuring.Consider rephrasing “should be only used” to “should only be used” for better English fluency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
README.md
(2 hunks)docs/javascript/react-router.md
(4 hunks)docs/misc/doctrine.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- README.md
- docs/misc/doctrine.md
🧰 Additional context used
🪛 LanguageTool
docs/javascript/react-router.md
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...
(A_GOOGLE)
⏰ Context from checks skipped due to timeout of 90000ms (6)
- GitHub Check: examples (newest)
- GitHub Check: rspec-package-tests (newest)
- GitHub Check: build-dummy-app-webpack-test-bundles (oldest)
- GitHub Check: rspec-package-tests (oldest)
- GitHub Check: examples (oldest)
- GitHub Check: build
🔇 Additional comments (3)
docs/javascript/react-router.md (3)
27-27
: Enhanced integration guidance text.The updated text now clearly points users to a complete integration example using the React Webpack Rails Tutorial Code. This improves documentation clarity and offers a direct reference to further examples.
🧰 Tools
🪛 LanguageTool
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...(A_GOOGLE)
64-70
: Updated server rendering method usage.The change to call
renderToString
directly (after importing it from'react-dom/server'
) instead of using a namespaced call improves readability and aligns with the updated best practices suggested by RoR 15.
79-79
: Closing block consistency check.The closing block of the
ReactServerRenderer
function is clear and consistent with the updated code flow. Verify that this slight reformatting maintains the originally intended logic.
c38a122
to
211c895
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (22)
docs/additional-details/generator-details.md (1)
46-46
: Clarify Sentence PunctuationThe updated sentence "Inside the generated "HelloWorld" domain you will find the following folders:" is clear; however, consider adding a comma after "domain" for enhanced readability:
Example revision:
Inside the generated "HelloWorld" domain, you will find the following folders:
This addresses the LanguageTool hint about a potential missing comma.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/angular-js-integration-migration.md (1)
7-7
: Improve Readability and Consistency in DocumentationThe update on this line enhances clarity by ensuring correct verb usage ("set up") and standardized phrasing ("no different from" instead of "no different than"). One minor nitpick from LanguageTool suggests considering a revision of the clause “so long as you understand…” to potentially use "you're" if that fits the intended tone. Overall, the grammatical corrections improve the document’s clarity.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...(AI_HYDRA_LEO_CP_YOU_YOUARE)
PROJECTS.md (1)
58-59
: Clarify the GitHub link wording for consistency.The newly added bullet item
- [GitHub search for repos using \
react_on_rails`](https://github.com/search?q=gem+react_on_rails&ref=advsearch&type=repositories&utf8=%E2%9C%93) (may include some false positives)might benefit from a slight rephrasing to conform to standard grammatical conventions. For example, you could change it to: • **Search GitHub for repositories using
react_on_rails` (may include some false positives)**
This ensures that the proper noun “GitHub” is paired with a verb in the desired form.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (1)
103-103
: Phrasing Suggestion for Plugin Fallback InstructionsThe sentence "If for some reason the plugin doesn't work, you can revert the changes and leave only devServer
hmr
/inline
set to true, affecting only CSS files." is much clearer than the previous version. For additional clarity, consider wrapping for some reason with commas:-If for some reason the plugin doesn't work, you can revert the changes and leave only devServer `hmr`/`inline` set to true, affecting only CSS files. +If, for some reason, the plugin doesn't work, you can revert the changes and leave only devServer `hmr`/`inline` set to true, affecting only CSS files.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
docs/contributor-info/linters.md (3)
10-10
: Enhance Consistency in RuboCop CapitalizationThe inline instruction refers to “Rubocop” (with a lowercase “c”), but later the header correctly spells it as “RuboCop.” Consider aligning the capitalization throughout for consistency.
28-28
: Consider Tone and Punctuation in DocumentationThe enthusiastic statement “Autofixing is a HUGE time saver!” might benefit from a slightly toned-down tone or reduced punctuation for a more professional appearance in technical documentation.
🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...(EN_EXCESSIVE_EXCLAMATION)
32-33
: Update ESLint Website URL to Use HTTPSThe link currently uses
http://eslint.org/
; consider updating it tohttps://eslint.org/
to ensure security and consistency with modern web standards.docs/javascript/react-helmet.md (1)
91-94
: Clarify phrasing in thereact_component_hash
explanation.
The updated text now informs that a hash is returned instead of an HTML string and that specifying "prerender" isn’t necessary. For improved clarity and formality, consider rephrasing to something like:"will return a hash instead of an HTML string. Note that specifying 'prerender' is unnecessary when server rendering is used."
This small nitpick can further enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~91-~91: Possible missing comma found.
Context: ...ed with "ReactHelmetApp" as a first argument it will return a hash instead of an HTM...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
docs/javascript/foreman-issues.md (1)
11-12
: Rephrase bullet point for clarity and grammatical precision.
The sentence "Withforeman 0.82.0
, the NPM packagereact-s3-uploader
was failing to finish upload file to S3 when the server was started byforeman -f Procfile.dev
." could be improved for clarity. Consider revising it to:"With
foreman 0.82.0
, the NPM packagereact-s3-uploader
was failing to finish uploading a file to S3 when the server was started usingforeman -f Procfile.dev
."
This revision adds the necessary article and improves readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...(AI_HYDRA_LEO_MISSING_A)
docs/javascript/react-router.md (1)
27-27
: Standardize project name capitalization.
The text refers to "react_on_rails" in lowercase. For consistency with other parts of the documentation, consider capitalizing it as "React on Rails."🧰 Tools
🪛 LanguageTool
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...(A_GOOGLE)
docs/release-notes/15.0.0.md (1)
30-32
: Reduce redundancy in descriptive phrasing.
In the bullet describing theforce_load
behavior, the phrase "hydrate components immediately as soon as their server-rendered HTML reaches the client" is somewhat redundant. Consider revising it to:"makes
react-on-rails
hydrate components immediately when their server-rendered HTML reaches the client"
This change removes the redundancy, improving clarity and conciseness.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/getting-started.md (1)
102-105
: Syntax Highlighting Tag for Embedded RubyThe code block now uses the language identifier
erbruby
. While this may help differentiate Ruby code snippets in some renderers, ensure that your markdown processor properly supports it. If not, consider switching to the more commonerb
tag to maintain consistency and compatibility.docs/javascript/webpack.md (1)
13-13
: Improve punctuation for clarity.
The modified sentence here is quite long. Consider inserting a comma to clearly separate the introductory clause, for example:"You should ensure you configure the entry points correctly for Webpack, if you want to break out libraries into a 'vendor' bundle, where your libraries are packaged separately from your app's code."
This minor change could enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/rails-webpacker-react-integration-options.md (2)
174-184
: Entry point export diff is correct.
Wrapping the exported component withhot(App)
correctly demonstrates how to integrate React Hot Loader. One minor suggestion: ensure that any placeholder component (here shown as<SomeComponent(s) />
) is replaced with your actual component in practical usage.
186-201
: Conditional configuration update for the sass loader is appropriate.
The diff correctly sets thesourceMapContents
option tofalse
whenmodule.hot
is inactive. In addition, per the static analysis feedback, consider revising the instructional text above the diff to include "the" before "sass loader" for improved clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass l...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/webpack-configuration.md (2)
25-26
: Consider rephrasing for conciseness.
The sentence outlining the standard directory structure and how to customize the Webpack configuration can be made more concise. For example, you might reword it to:"Typical Shakapacker apps follow a standard directory structure ([documentation link]). For customizing your Webpack configuration, consult [Webpack Tips]."
This refactoring would reduce wordiness while preserving the information.🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
31-33
: Punctuation recommendation for enhanced readability.
In the sentence describing the change in defaultnode_modules
location, a comma after the clause that explains the usage of the configuration value would help. Consider:"Version 9 changed the default to
/
for thenode_modules
location, using this value inconfig/initializers/react_on_rails.rb
:config.node_modules_location
."
This small tweak will make the sentence flow better.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to/
for thenode_modules
location using this value in `config/initializer...(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets.md (1)
8-9
: Clarify Filename Derivation Sentence
The added sentence clearly explains that the filename is generated as the MD5 hash of the file's contents combined with the original extension. Consider a minor punctuation tweak (e.g., adding a comma) to improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md (2)
28-29
: Improve Sentence Structure for Performance Note
The description in these lines notes that only HTML is reloaded and that cached assets still need parsing. However, the phrasing could be streamlined—for example, by adding a comma or reordering the clauses—to avoid any potential confusion.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
43-45
: Refine CSRF and Request Header Explanations
The bullet covering CSRF tokens and the special handling of request headers in Turbolinks5 is very detailed. A minor punctuation update—such as inserting a comma before "and" in the complex sentence—could further enhance clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
docs/outdated/rails-assets-relative-paths.md (2)
51-51
: Nitpick: Refine Redundant PhraseThe phrase “exact same thing” in the sentence is a bit wordy. Consider simplifying it to improve clarity and conciseness. For example:
-Both examples above do the exact same thing, just using different syntaxes. +Both examples above do the same thing, using different syntaxes.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
61-61
: Suggestion: Minor Punctuation ImprovementThe sentence is clear, but adding a comma after “For now” can improve the flow. For instance:
-For now we're just going to use: +For now, we're just going to use:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (55)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(1 hunks)CONTRIBUTING.md
(2 hunks)NEWS.md
(3 hunks)PROJECTS.md
(1 hunks)README.md
(2 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(4 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/view-helpers-api.md
(1 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(2 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(1 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(4 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/render-functions-and-railscontext.md
(1 hunks)docs/guides/upgrading-react-on-rails.md
(4 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(4 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(1 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/rails-assets-relative-paths.md
(2 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
🚧 Files skipped from review as they are similar to previous changes (37)
- node_package/src/context.ts
- docs/javascript/react-and-redux.md
- spec/dummy/Procfile.dev-static
- node_package/src/Authenticity.ts
- docs/guides/file-system-based-automated-bundle-generation.md
- docs/deployment/elastic-beanstalk.md
- lib/react_on_rails/helper.rb
- .github/workflows/main.yml
- docs/guides/i18n.md
- lib/generators/USAGE
- docs/home.md
- docs/contributor-info/generator-testing.md
- docs/outdated/webpack-v1-notes.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- CONTRIBUTING.md
- spec/dummy/client/README.md
- node_package/src/ComponentRegistry.ts
- docs/guides/client-vs-server-rendering.md
- docs/guides/render-functions-and-railscontext.md
- lib/tasks/assets.rake
- docs/contributor-info/pull-requests.md
- node_package/src/StoreRegistry.ts
- NEWS.md
- docs/javascript/capistrano-deployment.md
- docs/misc/tips.md
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/misc/doctrine.md
- CHANGELOG.md
- docs/javascript/server-rendering-tips.md
- docs/additional-details/manual-installation-overview.md
- docs/additional-details/recommended-project-structure.md
- docs/guides/upgrading-react-on-rails.md
- README.md
- node_package/src/ReactOnRails.client.ts
- docs/additional-details/updating-dependencies.md
- node_package/src/types/index.ts
- node_package/src/registerServerComponent/server.ts
🧰 Additional context used
🪛 LanguageTool
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/additional-details/generator-details.md
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/api/view-helpers-api.md
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1720 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](http://esl...
(EN_EXCESSIVE_EXCLAMATION)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the sass l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to /
for the node_modules
location using this value in `config/initializer...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/angular-js-integration-migration.md
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...
(AI_HYDRA_LEO_CP_YOU_YOUARE)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...
(AI_HYDRA_LEO_MISSING_A)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/react-router.md
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...
(A_GOOGLE)
docs/javascript/webpack.md
[uncategorized] ~13-~13: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
docs/outdated/rails-assets.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: dummy-app-integration-tests (newest)
- GitHub Check: dummy-app-integration-tests (oldest)
- GitHub Check: examples (newest)
🔇 Additional comments (35)
docs/api/view-helpers-api.md (1)
100-102
: Documentation Update – Consistent Hyphenation AchievedThe updated text now correctly hyphenates "server-side" and "client-side," which greatly enhances clarity and maintains consistency with the rest of the documentation. No further modifications are required for this segment.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...(AI_HYDRA_LEO_MISSING_COMMA)
PROJECTS.md (1)
60-63
: Excellent addition of the Reverse Dependencies section.The new "Reverse dependencies" section is a clear and valuable improvement. It provides direct links to both the RubyGems page and the NPM page that list reverse dependencies on
react_on_rails
. This addition enhances the resourcefulness of the documentation and will help users easily identify projects relying on the gem.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (5)
11-11
: Enhanced Documentation Reference FormattingThe refined text clearly directs users to the detailed "Client Side rendering and HMR using react-refresh-webpack-plugin" section and external resource. This improves clarity and navigability of the documentation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
19-19
: Clarification on Server-Side Rendering OptionsThe updated sentence now clearly informs users that using server-side rendering provides a couple of configuration options. This small textual change improves the flow and understanding of the section.
28-30
: Clear Ruby Configuration Code BlockThe added Ruby code block displaying
config.same_bundle_for_client_and_server = trueis well-formatted and clearly demonstrates the recommended configuration. This inclusion aids users in quickly identifying the necessary configuration change.
75-75
: Consistent Comment Formatting in Code BlockUpdating the comment from
//plugins
to// plugins
improves the visual consistency and readability within the JavaScript code block.
101-101
: Improved Clarity in Browser Behavior ExplanationThe revision to "Now the browser should reflect changes in
.js
and.css
files without reloading." provides a clearer and more concise instruction for the user.docs/contributor-info/linters.md (8)
12-14
: Standardized Code Block for RuboCop AutofixThe bash code snippet for running RuboCop (
rubocop -a
) is correctly formatted and clearly presented.
16-20
: Clear ESLint Instructions with Autofix CommandThe ESLint instruction and accompanying code snippet (
eslint --fix .
) provide clear guidance on running autofix for JS files. The wording explains the directory requirement well.
24-26
: Additional ESLint Autofix Command ProvidedIncluding an alternative command (
npm run lint -- --fix
) is beneficial for projects that utilize npm scripts for linting. The code block is well-formatted and clear.
36-37
: Documentation Reference is ClearThe reference to “the documentation” is well-placed and directs users to the correct resource.
38-38
: Clear Explanation of ESLint Rule SeverityExplaining that rule severity is configured using
'off'
,'warn'
, or'error'
(in contrast to numerical values) enhances clarity for users.
40-40
: Additional ESLint Options Explanation is HelpfulDetailing that ESLint rules can take additional options beyond severity is useful for users who might need more advanced configuration.
70-70
: Updated RuboCop Section HeaderThe new section header “## RuboCop” improves document structure and readability, effectively segregating the RuboCop-related information.
72-73
: RuboCop Website Link is CorrectProviding a direct link to the RuboCop website (
https://rubocop.org/
) is a useful reference that enhances the document’s practical value.docs/javascript/react-helmet.md (1)
107-109
: Improved code block language for ERB templates.
The update to use theerbruby
syntax in the code block helps clarify the context, making it immediately apparent that the snippet contains embedded Ruby.docs/javascript/react-router.md (1)
40-40
: Clear scope note for server-side rendering.
The note that "This example only applies to server-side rendering and should only be used in the server-side bundle." effectively sets the correct context. This clarification improves the reader’s understanding of where the code applies.docs/getting-started.md (4)
73-75
: Consistent Capitalization and Clarity in Configuration InstructionsThe updated sentence now states, "Most apps should rely on the Shakapacker setup for Webpack. Shakapacker v6+ includes support for Webpack version 5." This improves readability by ensuring "Webpack" is consistently capitalized, and it clearly indicates the version support.
98-99
: Improved Clarity on Component RegistrationThe revised wording now explains that exposing your component allows you to reference it from a Rails view, and it explicitly stresses that component names must all be different. This enhances the guidance provided to users regarding component registration.
142-143
: Clarification of Server Rendering OptionsThe updated text clearly distinguishes one option for handling server-side rendering—using conditional code such as
if (window) { doClientOnlyCode() }
—which is helpful for developers needing to disable certain animations or client-specific behaviors during server rendering.
144-145
: Alternative Approach for Server RenderingThe explanation now introduces a secondary approach, recommending a separate Webpack configuration file (using, for example, 'serverRegistration.js' instead of 'clientRegistration.js') to handle server rendering differently. This additional detail is beneficial for users who need a more tailored server-side bundle setup.
docs/guides/rails-webpacker-react-integration-options.md (3)
11-14
: Table formatting update looks good.
The changes to the table rows now provide a clean, aligned view of the integration options. This improves readability and consistency across the document.
159-170
: Babel configuration code snippet is clear.
The new example demonstrating the addition of thereact-hot-loader/babel
plugin withsafetyNet: false
is well formatted and clear. It serves as a solid reference for developers adjusting their Babel config.
205-215
: Alias configuration update is correct.
Appending the alias for'react-dom'
to use@hot-loader/react-dom
resolves the React Hot Loader patch issue effectively.docs/outdated/rails-assets.md (1)
38-39
: Update Call to Action for Symlink Solution
Changing the prompt to "please create a GitHub issue" for those interested in the symlink solution is clear and aligns well with the note that the feature was removed in v14.docs/rails/turbolinks.md (9)
7-7
: Modernize Turbo Reference
The updated bullet now clearly promotes Turbo (via Turbo (@hotwired/turbo
)) and explains that Turbolinks becomes obsolete. This is a timely and beneficial update for users.
33-34
: Clarify Turbolinks Usage Requirements
The revised bullet points outlining the requirements for using Turbolinks (avoiding conflicts with react-router and maintaining single JS/CSS files) are clear and concise.
38-39
: Clarify Considerations on Code Splitting and React-Router
The note under "Why Not Turbolinks" that mentions react-router handling navigation is useful. Verify that any numbering inconsistencies (if multiple "1." are used) render as intended in markdown.
66-66
: Affirm Turbolinks 5 Support Update
The line that states "Turbolinks 5 is now supported" and explains that the correct event handlers will be automatically used is concise and clear.
87-87
: Highlight Workaround Usingdefer
Instead ofasync
The updated recommendation for usingdefer
rather thanasync
for initial page loads with Turbolinks 5 provides a practical workaround for the listener issue.
103-103
: Guide on Removing Redundant Listeners
Notifying users that React on Rails 15 fixes issues with theturbolinks:load
event and that existing listeners can be safely removed is an excellent clarification.
105-107
: Clear Warning onforce_load: false
Usage
The warning block is clearly presented and instructs users not to useforce_load: false
with async scripts—a crucial note for avoiding common pitfalls.
154-154
: Update Recommendation on jQuery Package Usage
The revised recommendation to use the JS packages for jQuery and jQuery ujs (instead of the RubyGem versions) is a beneficial update, ensuring better compatibility with Turbolinks.
156-157
: Clarify Updated Image Caption
The updated image and its caption now more effectively illustrate that Turbolinks handlers are installed only once, which aids in conveying the intended message visually.docs/outdated/rails-assets-relative-paths.md (1)
67-67
: LGTM: Improved Clarity on Naming ConventionThe updated explanation clearly outlines how the file’s name is constructed—with the original name, an MD5-digested hash, and the original file extension. This enhances consistency and readability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, except for the relative link issue that I mentioned.
docs/guides/webpack-configuration.md
Outdated
## Option 1: Default Generator Setup: Shakapacker app/javascript | ||
|
||
Typical Shakapacker apps have a standard directory structure as documented [here](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow the steps in the the [basic tutorial](https://www.shakacode.com/react-on-rails/docs/guides/tutorial/), you will see this pattern in action. In order to customize the Webpack configuration, you need to consult with the [webpack configuration](https://www.shakacode.com/react-on-rails/docs/javascript/webpack/). | ||
Typical Shakapacker apps have a standard directory structure as documented [here](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow [the basic tutorial](https://www.shakacode.com/react-on-rails/docs/guides/tutorial/), you will see this pattern in action. In order to customize the Webpack configuration, consult [Webpack Tips](../javascript/webpack.md). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Relative links don't work with the Shakacode website.
211c895
to
c2993d2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (17)
docs/outdated/rails-assets-relative-paths.md (1)
51-51
: Refine Repetitive Wording in Documentation
The sentence now reads “Both examples above do the exact same thing, just using different syntaxes.” Consider replacing “exact same” with simply “the same” to streamline the phrasing and improve clarity.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Text Clarity and Minor Grammatical ImprovementConsider adding the indefinite article “a” before “
/home/webapp
directory” to enhance clarity. For example, revising the sentence as suggested below can improve the flow:-This script installs `yarn` and all JS dependencies before Rails runs `assets:precompile`. Also, it creates `/home/webapp` directory, allowing the precompile task to create temporary files. +This script installs `yarn` and all JS dependencies before Rails runs `assets:precompile`. Also, it creates a `/home/webapp` directory, allowing the precompile task to create temporary files.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/javascript/code-splitting.md (1)
23-23
: Improved Clarity in Explaining Client/Server Rendering Differences
The updated text clearly explains why the client and server produce different markup due to asynchronous code-fetching behavior. For consistency, consider capitalizing "react" to "React" when referring to the library.docs/javascript/foreman-issues.md (1)
11-12
: Enhanced Clarity in Known Issues Description
The revised bullet provides better context—with the insertion of necessary articles and rephrasing—to describe the problem withreact-s3-uploader
when used alongside foreman. For further polish, consider changing "finish upload file" to "complete the file upload."🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...(AI_HYDRA_LEO_MISSING_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (1)
75-75
: Consistent Comment Formatting
Adding a space in the comment (now “// plugins”) enhances readability and aligns with common coding style practices.docs/contributor-info/pull-requests.md (1)
40-41
: Clarified documentation reference.
Using a full URL for references (e.g. for installation details) is clear and unambiguous. As a minor nitpick, consider wrapping the bare URL in angle brackets to address common markdown lint suggestions.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
40-40: Bare URL used
null(MD034, no-bare-urls)
PROJECTS.md (1)
58-59
: Valuable GitHub search resource.
The newly added GitHub search link for repositories usingreact_on_rails
is a useful resource. Consider a slight rewording for grammatical consistency (e.g. “GitHub search for repos using…”).🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
docs/rails/turbolinks.md (4)
16-16
: Pending TODO for PR 1620 walkthrough.
There’s a “TODO” note left for walking through the code changes in PR 1620. Consider addressing it (or linking to a tracking issue) to ensure the documentation remains complete.
29-30
: Sentence structure for enhanced clarity.
The explanation on how switching between Rails HTML controller requests can improve performance is informative. Consider rephrasing for smoother flow (for example: “This can significantly improve performance, even when JavaScript and stylesheets are cached, because they still must be parsed.”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
43-45
: Detail on CSRF token handling.
The explanation regarding CSRF tokens with Turbolinks5 is thorough. Adding a comma before “and” to separate independent clauses might improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
103-105
: Clarify listener removal note.
The note that React on Rails 15 fixes both issues—and that the listener can now be removed—is useful. Consider a small punctuation tweak (for example, adding a comma after “listener”) for improved readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~103-~103: Possible missing comma found.
Context: ... listener it can be removed (and should be asreactOnRailsPageLoaded()
is now as...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/webpack-configuration.md (1)
25-26
: Streamlined explanation for Shakapacker apps.
The revised description for the typical Shakapacker directory structure and the direct reference to Webpack Tips make the instructions more concise and clear. A slight rephrasing to reduce wordiness may be considered.🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
docs/getting-started.md (1)
98-100
: Improved explanation for component registration.
The updated phrasing explaining that exposing your component this way “allows you to reference the component from a Rails view” is clearer. Consider using “unique” instead of “different” to avoid any ambiguity regarding component names.🧰 Tools
🪛 LanguageTool
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...-@some_props
can be either a hash or JSON string. This is an optional argument as...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/javascript/react-router.md (2)
5-5
: Improve Sentence Punctuation for Readability
The sentence on line 5 (“React on Rails supports the use of React Router. Client-side code doesn't need any special configuration … Note, you might want to avoid using Turbolinks …”) could benefit from a slight punctuation tweak (for example, adding a comma after introductory phrases) to improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: Possible missing comma found.
Context: ...ld. Note, you might want to avoid using Turbolinks as both Turbolinks and React Router wil...(AI_HYDRA_LEO_MISSING_COMMA)
27-27
: Ensure Consistent Naming of the Project
In the sentence on line 27, “react_on_rails” is used in lowercase. For consistency and clarity across the documentation, consider using “React on Rails” (as elsewhere in the file) unless the underscore style is intentional for code reference.🧰 Tools
🪛 LanguageTool
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...(A_GOOGLE)
docs/guides/react-on-rails-overview.md (1)
18-18
: Update and Punctuate Integration Description
The change on line 18 now correctly links to the updated Redux and React Router documentation. As an enhancement, consider inserting a comma after “integration” (e.g., “integration, including server-side-rendering”) to read more naturally.🧰 Tools
🪛 LanguageTool
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/rails-webpacker-react-integration-options.md (1)
186-201
: Enhance Webpack Configuration for Sass Loader
The diff block on lines 186–201 conditionally sets thesourceMapContents
option for the sass loader when HMR is not active. This targeted change should help optimize development builds. Consider adding an inline comment explaining why the check formodule.hot
is necessary, to aid future maintainers.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass l...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (62)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(1 hunks)CONTRIBUTING.md
(2 hunks)NEWS.md
(3 hunks)PROJECTS.md
(1 hunks)README.md
(2 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(4 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/view-helpers-api.md
(2 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(3 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(1 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(4 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/render-functions-and-railscontext.md
(1 hunks)docs/guides/upgrading-react-on-rails.md
(4 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(2 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(5 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(1 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/rails-assets-relative-paths.md
(2 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/handleError.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/startup/HelloWorldApp.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.client.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.server.jsx
(1 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
✅ Files skipped from review due to trivial changes (5)
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
- node_package/src/handleError.ts
- spec/dummy/client/app/startup/HelloWorldApp.jsx
- spec/dummy/client/app/startup/RenderedHtml.client.jsx
- spec/dummy/client/app/startup/RenderedHtml.server.jsx
🚧 Files skipped from review as they are similar to previous changes (39)
- spec/dummy/Procfile.dev-static
- node_package/src/context.ts
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/javascript/react-and-redux.md
- docs/home.md
- docs/javascript/angular-js-integration-migration.md
- docs/guides/client-vs-server-rendering.md
- lib/tasks/assets.rake
- docs/contributor-info/generator-testing.md
- docs/outdated/webpack-v1-notes.md
- node_package/src/Authenticity.ts
- node_package/src/StoreRegistry.ts
- docs/javascript/webpack.md
- docs/additional-details/updating-dependencies.md
- lib/generators/USAGE
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- docs/guides/i18n.md
- CONTRIBUTING.md
- docs/additional-details/generator-details.md
- docs/additional-details/recommended-project-structure.md
- README.md
- CHANGELOG.md
- .github/workflows/main.yml
- lib/react_on_rails/helper.rb
- node_package/src/registerServerComponent/server.ts
- docs/guides/upgrading-react-on-rails.md
- docs/guides/file-system-based-automated-bundle-generation.md
- NEWS.md
- spec/dummy/client/README.md
- docs/guides/render-functions-and-railscontext.md
- docs/javascript/server-rendering-tips.md
- docs/outdated/rails-assets.md
- docs/additional-details/manual-installation-overview.md
- node_package/src/ComponentRegistry.ts
- docs/misc/doctrine.md
- docs/misc/tips.md
- node_package/src/ReactOnRails.client.ts
- docs/javascript/capistrano-deployment.md
- node_package/src/types/index.ts
🧰 Additional context used
🪛 LanguageTool
docs/guides/react-on-rails-overview.md
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...
(AI_HYDRA_LEO_MISSING_COMMA)
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/api/view-helpers-api.md
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...
(EN_EXCESSIVE_EXCLAMATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...- @some_props
can be either a hash or JSON string. This is an optional argument as...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the sass l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...
(AI_HYDRA_LEO_MISSING_A)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/react-router.md
[uncategorized] ~5-~5: Possible missing comma found.
Context: ...ld. Note, you might want to avoid using Turbolinks as both Turbolinks and React Router wil...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~27-~27: “React” is a proper noun and needs to be capitalized.
Context: ...; ``` For a fleshed out integration of react_on_rails with React Router, check out [...
(A_GOOGLE)
docs/outdated/rails-assets-relative-paths.md
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~103-~103: Possible missing comma found.
Context: ... listener it can be removed (and should be as reactOnRailsPageLoaded()
is now as...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 markdownlint-cli2 (0.17.2)
docs/contributor-info/pull-requests.md
40-40: Bare URL used
null
(MD034, no-bare-urls)
🔇 Additional comments (37)
docs/outdated/rails-assets-relative-paths.md (1)
67-67
: Punctuation and Terminology Update Looks Good
The update to “an MD5-digested hash” along with the addition of a period at the end of the sentence enhances readability and maintains consistency.docs/deployment/elastic-beanstalk.md (2)
3-4
: Consistent Capitalization of "Elastic Beanstalk"The updated lines now consistently capitalize "Elastic Beanstalk," which improves the document’s readability and aligns with the style guidelines.
47-47
: Clear Instructions for Nginx ConfigurationThe instructions regarding the deployment on Elastic Beanstalk and the note on Nginx configuration are clear and concise. This guidance will help users ensure that their React app’s JavaScript files are correctly served from the specified location.
docs/contributor-info/linters.md (11)
10-10
: Rubocop Instruction Clarity Improvement:
The instruction now reads:
“2. Rubocop: Be sure to be in the correct directory where you have Ruby files, usually the top level of your Rails project.”
This revised wording improves clarity by using “usually” instead of “probably,” setting clearer expectations on file location.
12-14
: Standardized Code Block for RuboCop Command:
The RuboCop command is now enclosed in a ```bash code block, which enhances readability and consistency in formatting the instructions.
16-16
: ESLint Directory Instruction Update:
The updated line clearly instructs users to run commands from the directory containing JS files. This targeted guidance helps reduce directory context errors.
18-20
: Formatted ESLint Command Example:
The ESLint command (eslint --fix .
) is now presented in a properly tagged ```bash code block. This update improves the overall consistency of command examples in the document.
24-26
: npm Lint Command Example Enhancement:
The npm command for lint fixing is now formatted within a ```bash code block. This maintains consistency across code snippet presentations.
32-33
: ESLint Website Reference Added:
Updating the line to “See the ESLint website for more information.” provides a direct external reference, which is useful for readers seeking further clarification on ESLint usage.
36-37
: Direct Link to ESLint Rules Documentation:
Presenting a link to the rules documentation (“See the documentation first.”) is a valuable addition that helps users locate detailed configuration instructions quickly.
38-38
: Enhanced Explanation on Rule Severity:
The updated explanation now clearly states that rule severity is configured using'off'
,'warn'
, or'error'
, and notes the legacy use of numerical values. This clarification aids in understanding the severity settings.
40-40
: Clarification on Additional Rule Options:
The addition that explains rules can accept an array—with the first item being the severity and subsequent items as options—provides greater context and enhances the document’s usefulness for configuring ESLint rules.
70-70
: RuboCop Section Header Standardization:
Changing the header to “## RuboCop” neatly distinguishes this section within the document, supporting better structure and readability.
72-73
: Updated RuboCop Website Link:
Replacing previous references with “See the RuboCop website.” ensures that readers have a direct and updated link to RuboCop resources.docs/javascript/code-splitting.md (1)
114-114
: Enhanced Explanation of Asynchronous Component Loading
The additional explanation about howmatch
handles asynchronous loading using the callback substantially improves reader understanding of deferred rendering.docs/javascript/react-helmet.md (1)
14-17
: Clarified Return Value ofreact_component_hash
The updated wording now makes it clear thatreact_component_hash
returns a hash (instead of an HTML string) and does not require an explicit "prerender" setting. This clarification helps users understand the intended server-rendering behavior.docs/api/view-helpers-api.md (1)
100-100
: Improved rails_context Documentation
The updated text now clearly specifies the usage ofrails_context(server_side: true|false)
with consistent hyphenation ("server-side" and "client-side"), which enhances readability and precision.🧰 Tools
🪛 LanguageTool
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (4)
11-11
: Corrected Typo in Documentation
The phrase “section bellow” has been updated to “section below,” which improves the professionalism and clarity of the document.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
28-30
: Clear Configuration Guidance
The inserted code snippet clearly demonstrates how to setconfig.same_bundle_for_client_and_server = true
. This precise instruction helps prevent misconfiguration between server and client bundles.
101-101
: Updated Browser Reload Behavior Explanation
The revised sentence now explicitly states that changes in both.js
and.css
files are reflected by the browser—providing clearer guidance to developers.
103-103
: Clarified Fallback Instructions for Plugin Issues
The updated text offers more precise guidance on reverting configuration settings if the plugin fails, ensuring that users know they can revert to a configuration that affects only CSS files.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
docs/contributor-info/pull-requests.md (3)
5-5
: Improved readability in checklist item.
Removing the code formatting from “rake” and simplifying the phrasing makes the instruction clearer.
22-23
: Enhanced header prominence.
Changing the header for “The seven rules of a great git commit message” from level 4 to level 3 improves its visibility and overall document structure.
43-44
: Improved source reference guidance.
Updating the instruction to use a full GitHub URL for source code references enhances clarity.PROJECTS.md (2)
60-60
: Useful reverse dependencies section.
Introducing the “Reverse dependencies” section significantly enhances documentation by providing quick links to resources like RubyGems and NPM dependencies.
62-63
: Clear listing of dependency resources.
Listing individual links for gems and NPM packages that depend onreact_on_rails
improves navigability for users seeking further context.docs/rails/turbolinks.md (1)
7-7
: Updated support for Turbo.
Linking to Turbo (@hotwired/turbo
) and clarifying that Turbolinks is becoming obsolete makes the documentation current and more accurate.docs/guides/webpack-configuration.md (1)
33-34
: Direct guidance on configuration values.
Clarifying that you can access values fromconfig/shakapacker.yml
directly is a clear improvement.docs/getting-started.md (2)
142-145
: Clear guidance for server-side rendering differences.
The section detailing how to handle server-side rendering (including adjustments for animations or split configurations) is well laid out and informative.
1-203
: Overall documentation enhancements are well executed.
The comprehensive improvements across the Getting Started guide—such as consistent capitalization (e.g. “Webpack”), clearer instructions, and refined phrasing—contribute significantly to overall readability and clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: .../shakacode/shakapacker) for more details but typically you need the following steps:...(COMMA_COMPOUND_SENTENCE)
[typographical] ~14-~14: Consider adding a comma after ‘typically’ for more clarity.
Context: ...acode/shakapacker) for more details but typically you need the following steps: ```bash ...(RB_LY_COMMA)
[grammar] ~34-~34: The word ‘install’ is not a noun.
Context: ...ption--ignore-warnings
). 2. Run the install generator: ```bash rails generat...(A_INSTALL)
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...-@some_props
can be either a hash or JSON string. This is an optional argument as...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[style] ~129-~129: This phrase is redundant. Consider using “inside”.
Context: ...nRails and then mount them with helpers inside of your Rails views**. This is how to exp...(OUTSIDE_OF)
[grammar] ~150-~150: An auxiliary verb seems to be missing from this progressive structure. Did you mean “we're using”, “we are using”, or “we were using”?
Context: ...n that returns a React component, which we using the name of a "render-function". Creati...(PRP_VBG)
🪛 markdownlint-cli2 (0.17.2)
45-45: Bare URL used
null(MD034, no-bare-urls)
140-140: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4(MD001, heading-increment)
docs/javascript/react-router.md (1)
40-43
: Clarify Server-Side Rendering Note
The updated lines 40–43 emphasize that the example applies only to server-side rendering and should be used in the server-side bundle. This clarification improves the documentation’s precision.docs/release-notes/15.0.0.md (2)
31-35
: Clear Explanation of Force Load Behavior
The updated sub-bullets in lines 31–35 now clearly explain that theforce_load
configuration causes immediate hydration of components (and Redux stores) when their server-rendered HTML arrives. The information is concise and easy to follow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
37-50
: Modernize Async Hydration Example
The revised async example forReactOnRails.reactOnRailsPageLoaded()
(lines 37–50) is well presented. The before/after code snippet effectively demonstrates the need to await the promise, which improves clarity regarding asynchronous hydration.docs/guides/rails-webpacker-react-integration-options.md (4)
11-15
: Refined Table Formatting for Integration Options
The updates to the table (lines 11–15) improve its readability and consistency by cleaning up the separator rows and aligning the content. This formatting enhancement makes comparison across different gems easier.
159-169
: Update Babel Configuration for React Hot Loader
The diff block on lines 159–169 neatly updates the Babel configuration to include thereact-hot-loader/babel
plugin withsafetyNet: false
. This revised configuration aligns with the recent practices for enabling hot reloading in React applications.
174-184
: Wrap Entry Component with Hot Module Reloading
The diff on lines 174–184 correctly demonstrates updating the entry point for your React application: importinghot
fromreact-hot-loader/root
and wrapping the App component. This change is clear and follows best practices for enabling HMR.
203-215
: Set React DOM Alias to Address Hot Loader Issue
The diff block on lines 203–215 that merges an alias for'react-dom'
to'@hot-loader/react-dom'
is an effective fix addressing the patch detection issue noted with React Hot Loader. This change should improve compatibility with React 16.6+ features.
c2993d2
to
9868fa0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (24)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Grammar Enhancement: Article Usage
The sentence “...creates/home/webapp
directory, allowing the precompile task to create temporary files.” would improve in readability by adding an article before “/home/webapp
directory.” Consider revising it to “creates the/home/webapp
directory…” to fully comply with standard English usage.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/webpack-configuration.md (2)
25-26
: Improved Readability and Link ConsistencyThe revised text in this segment removes redundant wording and clearly directs the reader to external resources. The absolute URLs (e.g., for the basic tutorial and Webpack Tips) now ensure that the links work reliably, which addresses previous concerns regarding relative links.
Optional suggestion: Consider shortening the phrase "In order to customize the Webpack configuration, consult [Webpack Tips]" to a more concise alternative, such as "To customize the Webpack configuration, consult [Webpack Tips]."
🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
33-34
: Clarify Configuration ReferenceThe updated phrasing "You can access values from
config/shakapacker.yml
:" now clearly informs the reader that configuration values can be extracted directly from the file. For enhanced clarity, you might consider adding a brief note or link (if available) that explains what values are typically configured here and how they may affect the overall setup.docs/outdated/rails-assets-relative-paths.md (1)
51-51
: Enhanced Grammar and Clarity in Loader Example DescriptionThe updated sentence now reads:
"Both examples above do the exact same thing, just using different syntaxes. For the rest of this doc we will be using the JSON object style. For more information about webpack loaders, read this."This update improves readability and fixes capitalization issues. One minor nitpick: the phrase "exact same thing" might be considered wordy. Consider a slightly more concise alternative (e.g., "identical") if you prefer further tightening of the language.
🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
docs/javascript/server-rendering-tips.md (1)
19-20
: Optional Grammatical Enhancement in Troubleshooting Section.
In the troubleshooting steps, consider adding a comma after "First" (e.g., "1. First, make sure your code works...") to improve clarity. This is a nitpick and entirely optional.🧰 Tools
🪛 LanguageTool
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/react-helmet.md (1)
92-93
: Improve clarity in the react_component_hash description.
The revised text now explains that callingreact_component_hash("ReactHelmetApp", ...)
returns a hash instead of an HTML string and that specifying "prerender" is unnecessary. For enhanced readability, consider merging the two sentences into one clear statement.🧰 Tools
🪛 LanguageTool
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
PROJECTS.md (2)
58-59
: Refine Link Text for GitHub SearchThe newly added bullet for the GitHub search link looks useful. However, the text "GitHub search for repos using
react_on_rails
" could be rephrased to improve clarity and address the static analysis grammar hint (which suggests using a proper verb agreement with the proper noun "GitHub"). For example, consider changing it to "GitHub's search for repos usingreact_on_rails
".- - [GitHub search for repos using `react_on_rails`](https://github.com/search?q=gem+react_on_rails&ref=advsearch&type=repositories&utf8=%E2%9C%93) (may include some false positives) + - [GitHub's search for repos using `react_on_rails`](https://github.com/search?q=gem+react_on_rails&ref=advsearch&type=repositories&utf8=%E2%9C%93) (may include some false positives)🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
62-63
: Validate and Standardize Dependency Link NamingThe new bullet points for:
provide valuable insights. One minor suggestion is to ensure consistency in naming conventions. The gem link uses an underscore (
react_on_rails
), while the NPM link uses a hyphen (react-on-rails
). If this difference is intentional—reflecting the naming used on RubyGems versus NPM—no change is needed. Otherwise, consider standardizing the presentation.docs/release-notes/15.0.0.md (5)
31-31
: Force Load Configuration Clarity.
The updated note explains that theforce_load
configuration causes components to hydrate immediately upon receiving their server-rendered HTML. The term “server-rendered HTML” is appropriately hyphenated. Please verify that this style remains consistent throughout the documentation.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
33-33
: Enhance Readability with a Definite Article.
Consider adding “the” before the component names for improved grammatical flow. For example, “by passingforce_load: false
to the thereact_component
orstream_react_component
.”
34-34
: Article Addition for Consistency.
It may read more naturally to refer to “theforce_load
option” rather than omitting the article. Consistency in phrasing can aid readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
35-35
: Definite Article for Helper Function Call.
For clarity, consider revising the phrase to “by calling theredux_store
helper withforce_load: false
…” to maintain consistent grammatical style.
39-51
: Async Function Example Clarification.
The revised snippet correctly demonstrates that callers ofReactOnRails.reactOnRailsPageLoaded()
must nowawait
its returned promise. It would be beneficial to include a brief note reminding users thatawait
must be used within an async function context.docs/outdated/rails-assets.md (1)
8-9
: Formatting Clarity: Consider Adding a Comma for Readability.
The updated text at lines 8–9 now reads:By default, the filename of the resulting file is the MD5 hash of the file's contents with the original extension of the required resource.
For improved clarity, it might be beneficial to insert a comma after "contents" so that the clause is better delineated. For example:
-By default, the filename of the resulting file is the MD5 hash of the file's contents with +By default, the filename of the resulting file is the MD5 hash of the file's contents, withThis small refinement aligns with the readability improvements intended by the PR.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md (7)
7-7
: Clarify Turbo support wording.The updated line now mentions Turbo support. Consider rephrasing “Ability to use with [Turbo …]” to “Support for [Turbo …]” to improve clarity and readability.
28-29
: Refine performance explanation.The description of Turbo’s performance benefits is clear, yet the phrasing in line 29 (“This definitely can make an app perform better, even if the JavaScript and stylesheets are cached by the browser, as they will still require parsing.”) might be improved for smoother readability. Consider reordering or simplifying the sentence for clarity (for example, “This can improve app performance even when JavaScript and stylesheets are cached, since they must still be parsed on each load.”).
🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
38-39
: Ensure consistency in bullet formatting.The bullet list in the “Why Not Turbolinks” section uses repeated “1.” prefixes, which is acceptable in Markdown (since auto-numbering applies), but you might consider using distinct numbering or ensuring consistent formatting if legibility is a concern.
43-45
: Improve long-sentence clarity and punctuation.The detailed notes on CSRF tokens, Turbolinks5 request headers, and potential namespace conflicts are informative. However, the long sentence in line 43 could benefit from slight rephrasing for clarity—adding a comma before “and” in the clause “I didn't examine the details, it may be caused by app code, not library code” might improve readability as per LanguageTool’s suggestion.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
105-107
: Refine warning note tone.The warning block is useful, but consider tweaking the tone to be more objective. For example, instead of “Do not use…”, you might use “Avoid using…” to maintain a neutral, instructive tone.
154-154
: Adopt objective tone for jQuery note.The note regarding the limitations of the RubyGem versions of jQuery and jQuery ujs is informative. Consider replacing “We've noticed that” with a more neutral phrase like “It has been observed that” to maintain an objective tone.
156-156
: Enhance image alt text for accessibility.The inserted image is helpful; however, the current alt text (“Show we only install the Turbolinks handlers once”) could be improved for clarity. A more descriptive alternative such as “Illustration demonstrating that Turbolinks handlers are installed only once” would enhance accessibility.
docs/guides/rails-webpacker-react-integration-options.md (1)
186-196
: Improved Sass Loader Setup for HMRIntroducing a condition to disable
sourceMapContents
when hot reloading is not active is a practical enhancement.
Minor nitpick: Consider updating the inline comment to read “allows for editing sass/scss files directly in the browser” (instead of “directly in browser”) to improve grammatical correctness.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the sass l...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (2)
11-11
: Clarified Hot Reloading GuidanceThe updated sentence now directs users to the "Client-Side rendering and HMR using react-refresh-webpack-plugin" section.
Suggestion: For consistency, consider hyphenating “Client-Side” to clearly indicate the compound adjective.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
103-103
: Fallback Instructions for React Refresh PluginThe revised fallback instructions help developers understand what to do if the plugin does not work as expected.
Suggestion: Consider rephrasing to “If, for some reason, the plugin doesn't work,” (with commas) to improve the flow.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (62)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(1 hunks)CONTRIBUTING.md
(2 hunks)NEWS.md
(3 hunks)PROJECTS.md
(1 hunks)README.md
(2 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(4 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/view-helpers-api.md
(2 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(3 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(1 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(4 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/render-functions-and-railscontext.md
(1 hunks)docs/guides/upgrading-react-on-rails.md
(4 hunks)docs/guides/webpack-configuration.md
(1 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(4 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(5 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(1 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/rails-assets-relative-paths.md
(2 hunks)docs/outdated/rails-assets.md
(2 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/handleError.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/startup/HelloWorldApp.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.client.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.server.jsx
(1 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
🚧 Files skipped from review as they are similar to previous changes (48)
- spec/dummy/client/app/startup/RenderedHtml.client.jsx
- docs/javascript/troubleshooting-when-using-webpacker.md
- spec/dummy/client/app/startup/HelloWorldApp.jsx
- docs/javascript/webpack.md
- docs/javascript/react-and-redux.md
- docs/javascript/code-splitting.md
- spec/dummy/client/README.md
- spec/dummy/client/app/startup/RenderedHtml.server.jsx
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
- node_package/src/StoreRegistry.ts
- docs/guides/file-system-based-automated-bundle-generation.md
- docs/guides/client-vs-server-rendering.md
- lib/generators/USAGE
- docs/additional-details/recommended-project-structure.md
- docs/javascript/angular-js-integration-migration.md
- docs/home.md
- docs/guides/i18n.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- docs/additional-details/generator-details.md
- docs/javascript/react-router.md
- lib/react_on_rails/helper.rb
- docs/contributor-info/generator-testing.md
- docs/javascript/foreman-issues.md
- NEWS.md
- node_package/src/context.ts
- node_package/src/handleError.ts
- spec/dummy/Procfile.dev-static
- lib/tasks/assets.rake
- node_package/src/registerServerComponent/server.ts
- README.md
- docs/outdated/webpack-v1-notes.md
- node_package/src/Authenticity.ts
- node_package/src/ComponentRegistry.ts
- CHANGELOG.md
- .github/workflows/main.yml
- docs/contributor-info/pull-requests.md
- CONTRIBUTING.md
- docs/guides/upgrading-react-on-rails.md
- docs/api/view-helpers-api.md
- docs/guides/react-on-rails-overview.md
- docs/additional-details/manual-installation-overview.md
- docs/additional-details/updating-dependencies.md
- node_package/src/ReactOnRails.client.ts
- docs/misc/tips.md
- node_package/src/types/index.ts
- docs/guides/render-functions-and-railscontext.md
- docs/javascript/capistrano-deployment.md
- docs/misc/doctrine.md
🧰 Additional context used
🪛 LanguageTool
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...
(EN_EXCESSIVE_EXCLAMATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...- @some_props
can be either a hash or JSON string. This is an optional argument as...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the sass l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/server-rendering-tips.md
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
docs/outdated/rails-assets.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: dummy-app-integration-tests (oldest)
- GitHub Check: dummy-app-integration-tests (newest)
- GitHub Check: examples (newest)
🔇 Additional comments (40)
docs/deployment/elastic-beanstalk.md (2)
3-4
: Clarification and Capitalization Update
The revised lines clearly state that Yarn must be installed on every instance, which reinforces the deployment prerequisites. The capitalization and wording are now consistent with our documentation style.
47-47
: Deployment Clarification for React Assets
The additional explanation regarding the location of React app JavaScript files underpublic/packs
and the need for corresponding Nginx configuration is a useful clarity improvement. This should help users avoid deployment pitfalls with asset serving.docs/outdated/rails-assets-relative-paths.md (2)
61-61
: Clear Introduction to File Naming ConventionThe introductory explanation—"The first property we'll want to set is our file's resulting name after bundling. For now, we're just going to use:"—is clear and sets up the code snippet well.
67-67
: Improved Description of File Naming MechanismRewriting the line to:
"This will just set the name to the file's original name + an MD5-digested hash + the extension of the original file (.png, .jpg, etc.)."enhances clarity and consistency, particularly by specifying "an MD5-digested hash". This minor change aligns the documentation with standard conventions.
docs/javascript/server-rendering-tips.md (5)
7-9
: Improve Clarity When Describing Limited DOM Access in Server Environments.
The updated bullet point now clearly explains that server-side JS execution does not have access todocument
and replaces "libs" with "libraries," which enhances readability and professionalism.
10-13
: Clarify Conditional Execution for Client- vs. Server-side Code.
The modifications now correctly specify using a "top-level React component" and offer guidance on handlingprops
for both client- and server-side code. This makes the instruction more precise.
14-14
: Strengthen Guidance on Separate Entry Points for Server-side Rendering.
The update emphasizes the benefit of having distinct entry points for client- and server-side rendering, even while recognizing the extra complexity involved. This is a clear and useful recommendation.
24-24
: Standardize CSS Extraction Language.
The revised text "Server bundles must always have CSS extracted." now uses consistent casing, which improves readability and aligns with best practices for documentation.
28-30
: Clarify Polyfill Behavior and Example Context.
The explanation regarding polyfilled methods for server rendering is clear, and the provided example effectively illustrates the log output associated withsetTimeout
. This enhances developer understanding of server-side behavior.docs/javascript/react-helmet.md (2)
96-104
: Update code block syntax for embedded Ruby.
The code block has been updated to use theerbruby
syntax, which is more appropriate for embedded Ruby examples. The example usage appears correct and improves the clarity of the documentation.
108-110
: Confirm proper use of erbruby for layout insertion example.
The updatederbruby
code block for inserting the title tag into the layout is clear and correctly demonstrates the intended usage.PROJECTS.md (1)
60-61
: Add a Clear Section for Reverse DependenciesThe introduction of the "## Reverse dependencies" section neatly groups additional resources and improves the document’s navigability. This addition enhances user accessibility by directly pointing them to resources that list dependent gems and NPM packages.
docs/release-notes/15.0.0.md (1)
81-86
: Store Dependencies Code Snippet Review.
The updates in the code snippet clearly indicate that specifying store dependencies is optional:
- The comment “# No need to specify store_dependencies: it automatically depends on SimpleStore” clarifies the default behavior.
- The explicit declaration using
store_dependencies: []
for components that require no dependencies is clear.
This improved clarity supports better understanding for users configuring store dependencies.docs/contributor-info/linters.md (11)
10-10
: Improved RuboCop Instruction Clarity
The revised instruction clarifies that you should be in the correct directory for Ruby files—using "usually the top level" instead of "probably the top level" improves precision and user guidance.
12-14
: Enhanced Code Block Syntax Highlighting for RuboCop Command
Adding thebash
language identifier to the code block improves readability and provides proper syntax highlighting for the RuboCop command.
16-16
: Clearer ESLint Directory Guidance
The updated instruction for ESLint now clearly advises users to be in the correct directory where JavaScript files reside. This consistency helps avoid any directory confusion during autofix operations.
18-20
: Consistent Formatting for ESLint Code Block
Including thebash
tag in the ESLint autofix command code block enhances clarity and maintains consistency with the RuboCop snippet.
24-26
: Standardized Code Block for npm Lint Command
The npm lint command snippet now uses thebash
language identifier, ensuring that all code example blocks follow a consistent formatting convention.
32-33
: Added Direct Link to ESLint Website
Incorporating the link directly to the ESLint website provides users with a straightforward way to access further information, enhancing the document’s utility.
36-37
: Improved Documentation Reference Clarity
The updated instruction to "See the documentation first" clearly directs readers to additional details, which is beneficial for users who need more context about rule configuration.
38-38
: Clear Explanation of Rule Severity Options
The revision explaining that rule severity is configured with'off'
,'warn'
, or'error'
(with historical numeric values provided as context) enhances clarity for both new and experienced users.
40-40
: Detailed Clarification on Additional Rule Options
The added sentence about rules taking additional options (where the first item is the severity and the rest are options) provides useful context for extended configuration scenarios.
70-70
: Distinct Section Header for RuboCop
Introducing the "## RuboCop" header improves the document structure by clearly delineating the RuboCop section from other linter documentation.
72-72
: Direct RuboCop Website Reference
The updated link to the RuboCop website ensures that users have immediate access to authoritative resources, aligning with the overall documentation consistency improvements.docs/outdated/rails-assets.md (1)
38-39
: Capitalization and Instructional Clarity for Issue Creation.
The text at lines 38–39 now instructs users to "please create a GitHub issue." This change, which capitalizes "GitHub," ensures consistency with the documentation’s style guidelines. The update is clear and aligns with the overall intent of the readability changes.docs/rails/turbolinks.md (5)
33-34
: Clear requirements for using Turbolinks.The updated list items outlining the requirements (avoiding React Router conflicts and using a single JS/CSS file) are concise and clear. If possible, you might consider providing a brief rationale or an example for handling multiple bundles, but the current changes are acceptable.
66-66
: Clear update on Turbolinks 5 support.The note about Turbolinks 5 support is precise and aligns with recent updates.
81-81
: Concise async script loading instructions.The instruction for asynchronous script loading (starting with Shakapacker 8.2) is clear and helpful.
87-87
: Effective workaround explanation.The guidance regarding the use of
defer
instead ofasync
for handling the initialturbolinks:load
event in Turbolinks 5 is clear and well-presented.
103-103
: Update on listener removal in React on Rails 15.The clarification that React on Rails 15 fixes the listener issues and that the redundant listener can be removed is well noted.
docs/getting-started.md (3)
74-74
: Improved Clarity in the Webpack Setup SectionThe updated sentence clearly informs readers that most apps rely on the Shakapacker setup—with Shakapacker v6+ supporting Webpack version 5. This extra context makes the requirements much clearer.
98-98
: Clarified Component Exposure ExplanationThe revision now states that exposing your component "allows you to reference the component from a Rails view" and emphasizes that the component names must be unique. This rephrasing improves the overall clarity of the instructions.
102-105
: Specified Code Block Language for Rails ViewsAdding the
erbruby
language identifier to the code block improves syntax highlighting and consistency in documentation. This small change enhances readability.docs/guides/rails-webpacker-react-integration-options.md (4)
11-12
: Refined Markdown Table RowsThe updated table rows for "react-rails" and "webpacker-react" now have a cleaner, more consistent format. This improves the readability of the integration options table.
159-170
: Structured React Hot Loader Babel ConfigurationThe reformatted code block for configuring
react-hot-loader/babel
uses a clear array structure that improves readability. This makes it easier for developers to understand and maintain the Babel configuration.
174-185
: Enhanced Entry Point for Hot ReloadingReplacing the default export with a wrapped
hot(App)
export ensures that the App component properly supports hot module reloading. This diff is clearly presented and aligns with best practices.
203-210
: Alias Configuration for React Hot LoaderThe diff that adds an alias for
react-dom
to use@hot-loader/react-dom
effectively addresses React-Hot-Loader compatibility issues. This change is clear and necessary.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (3)
19-19
: Clear Server-Side Rendering OptionsThe introductory line for server-side rendering now explicitly recommends using a separate webpack configuration for server rendering. This addition increases clarity for users setting up SSR.
28-30
: Consistent Ruby Code Block FormattingThe Ruby code block now properly specifies the language, ensuring that
config.same_bundle_for_client_and_server = true
is highlighted appropriately. This consistency enhances the overall quality of the documentation.
101-101
: Improved Browser Behavior DescriptionThe updated sentence at line 101 concisely explains that changes in
.js
and.css
files will reflect without triggering a full browser reload. This clarification is helpful for developers.
9868fa0
to
984d0bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (33)
docs/guides/react-server-rendering.md (1)
5-5
: Nitpick: Correct Verb Usage in Heading
The heading currently reads “What is the easiest way to setup a Webpack configuration for server-side-rendering?” When used as a verb, it’s clearer to use “set up” (with a space) rather than “setup” (which is a noun).🧰 Tools
🪛 LanguageTool
[grammar] ~5-~5: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...ering/). ## What is the easiest way to setup a Webpack configuration for server-side...(NOUN_VERB_CONFUSION)
docs/guides/webpack-configuration.md (3)
9-10
: Consistency in Feature List Items and Client-Side Terminology
The updated bullet list is clear, but consider hyphenating "client side" to "client-side" in the phrase "client side Webpack configuration" for improved clarity and adherence to common style guidelines.🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ion. The base setup works great for the client side Webpack configuration. To get a deeper...(EN_COMPOUND_ADJECTIVE_INTERNAL)
25-27
: Improve Conciseness and Readability
These lines are informative but a bit verbose. Consider rephrasing to make the message more succinct. For example, you might say:"Typical Shakapacker apps follow a standard directory structure [documented here]. Shakapacker requires minimal setup, offering an abstraction that simplifies Webpack customization."
This rewording preserves the essential details while enhancing flow and readability.🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
31-33
: Streamline Directory Usage Description
The explanation regarding the legacy use of the/client
directory is helpful but could be more concise. A suggestion is:"Until version 9, React on Rails used the
/client
directory for configuring Webpack and managing JavaScript assets, including thenode_modules
directory."
This rephrasing maintains the necessary details while reducing repetition.docs/rails/turbolinks.md (2)
28-29
: Enhanced Clarity on Caching vs. Parsing Behavior
The revised statements clarify that when switching Rails HTML controller requests, only the HTML is reloaded while JavaScript and stylesheets, even when cached, still require parsing. Consider a slight reordering or punctuation tweak for extra clarity (e.g., ensuring the causal relationship is as smooth as possible).🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
43-45
: Detailed Explanation on CSRF, Request Headers, and Bundling
The additional information regarding CSRF token checking, special header handling in Turbolinks5, and potential conflicts with multiple Webpack bundles significantly enriches this section.
Note: In the CSRF helper sentence, consider adding a comma before “and” for improved readability:“…because there is a CSRF helper in ReactOnRails, and it needs to work with Turbolinks5.”
🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md (1)
7-7
: Improve Punctuation for ClarityThe update correctly capitalizes “React Router” for consistency. Consider evaluating whether a comma after “entry point” might improve the sentence’s readability (per the static analysis hint).
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/code-splitting.md (2)
27-28
: Detail the Render-Function SetupThe extended explanation on delaying the initial client render until after the code chunk fetch is valuable. Consider breaking up the long sentence into two shorter ones for added clarity, if desired.
137-138
: Emphasize Separate Route DefinitionsThe insertion regarding the need for separate route definitions for client and server renders is helpful. Note that the phrasing “you’ll probably need to” could be tightened (for example, by using “must” or “should”) to improve decisiveness.
docs/guides/tutorial.md (1)
63-64
: Update Rails Version InstructionThe instruction to check the Rails version and install Webpacker if using an older version is now more explicit. A slight rephrasing might enhance readability (e.g. “ensure you are using Rails 5.1.3 or higher”); however, the current change already improves clarity.
🧰 Tools
🪛 LanguageTool
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...(REP_NEED_TO_VB)
docs/guides/rspec-configuration.md (1)
30-30
: Minor Language Suggestion: “inside”
The sentence currently reads “Call this method from inside of theRSpec.configure
block…” Consider removing “of” for brevity and clarity. For example:-Call this method from inside of the `RSpec.configure` block... +Call this method from inside the `RSpec.configure` block...🧰 Tools
🪛 LanguageTool
[style] ~30-~30: This phrase is redundant. Consider using “inside”.
Context: ..._compile_assets. Call this method from inside of the
RSpec.configureblock in your
sp...(OUTSIDE_OF)
docs/outdated/webpack-v1-notes.md (1)
11-11
: Punctuation and Clarity Improvement in Entry Points Section
The sentence about configuring entry points could benefit from a small punctuation adjustment for clarity. Consider adding a comma after “bundle” as follows:-... break out libraries into a "vendor" bundle where your libraries are packaged separately from your app's code. +... break out libraries into a "vendor" bundle, where your libraries are packaged separately from your app's code.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...(REP_WANT_TO_VB)
[uncategorized] ~11-~11: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/foreman-issues.md (1)
11-12
: Grammatical Refinement in Known Issues Bullet
The revised bullet point would read even more clearly with a slight grammatical tweak. Consider updating the sentence as follows:- With `foreman 0.82.0`, the NPM package `react-s3-uploader` was failing to finish upload file to S3 when the server was started by `foreman -f Procfile.dev`. + With `foreman 0.82.0`, the NPM package `react-s3-uploader` was failing to finish uploading a file to S3 when the server was started by `foreman -f Procfile.dev`.This change improves readability by ensuring the verb form is correct.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...(AI_HYDRA_LEO_MISSING_A)
docs/guides/i18n.md (1)
32-35
: Improved Note Block Formatting
Introducing the colon after “The fix is either to” enhances readability. For consistency, consider a minor phrasing tweak for the list items. For example, you may remove the extra “to” in the second item:- > 2. to run the tests first. + > 2. run the tests first.This would ensure both list items have parallel structure.
docs/deployment/elastic-beanstalk.md (1)
45-45
: Clear explanation of precompilation steps.
The note describing that the script installs yarn and JS dependencies before assets are precompiled is informative. Consider a brief review of phrasing for absolute clarity, though the current wording is acceptable.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
spec/dummy/README.md (1)
3-4
: Consistent dependency setup instructions.
The bullet points now advise usingyalc link
and installing Yarn dependencies in the correct directory. A minor nitpick: if desired, hyphenate compound adjectives for extra clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/additional-details/migrating-from-react-rails.md (1)
15-15
: Refine the Webpack Config Instruction.
The guidance on checking the Webpack config files is very helpful. To improve readability further, consider removing the extraneous comma in the sentence “The decision made here, affects the other steps.” (i.e. change it to “The decision made here affects the other steps.”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~15-~15: Possible missing comma found.
Context: ...e default name inreact_on_rails
. The decision made here, affects the other steps. ...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/render-functions-and-railscontext.md (4)
5-6
: Clarify Render-Functions Introduction.
The updated introduction now explains that render-functions (or shared Redux store functions) get two parameters (props
andrailsContext
). Consider merging these two short lines into one smooth sentence if that fits the overall style.
77-77
: Grammatical Adjustment.
A minor grammatical improvement is suggested: consider inserting “the” before “railsContext” (e.g. “if you don't use the second parameter of the railsContext...”) to enhance clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~77-~77: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter of the railsContext if you do...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~77-~77: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...(COMMA_COMPOUND_SENTENCE)
79-79
: Improve Link Fragment Clarity.
Please verify that the link fragment[section](#multiple-react-components-on-a-page-with-one-store)
correctly targets an existing header. If not, update the fragment to ensure it’s valid and consistent.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
79-79: Link fragments should be valid
null(MD051, link-fragments)
141-141
: Refine RailsContext Explanatory Note.
The explanation regarding why plain React components don’t automatically receiverailsContext
is clear. For even smoother reading, consider rephrasing to something like “unless you explicitly include it in the props.”docs/contributor-info/linters.md (1)
28-29
: Tone Adjustment: Avoid Excessive Exclamations.
The statement “Autofixing is a HUGE time saver!” might benefit from a more measured tone. Reducing the number of exclamation marks can help maintain a professional style.🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...(EN_EXCESSIVE_EXCLAMATION)
CONTRIBUTING.md (3)
22-23
: IDE Configuration Guidance.
The note stressing the importance of configuring your IDE or editor to ignore certain directories is very helpful. To maintain a professional tone, consider reducing the number of exclamation points.
185-186
: Emphasis and Sentence Structure Adjustment.
The instruction emphasizes that runningrails s
alone is insufficient and that usingforeman start
is mandatory. While the intent is clear, consider moderating the strong emphasis (e.g., CRITICAL) and varying the sentence beginnings to improve overall readability.🧰 Tools
🪛 LanguageTool
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
185-185
: Sentence Variation Suggestion.
The static analysis indicates that several successive sentences begin with the same word. Rephrasing some of these sentences can help enhance the flow and readability of the document.🧰 Tools
🪛 LanguageTool
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
docs/guides/react-on-rails-overview.md (1)
18-18
: Nitpick: Punctuation in List ItemThe updated list item on line 18 would read more clearly with an added comma. Consider revising it to:
“1. Redux and React Router integration, including server-side‐rendering.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md (1)
31-35
: Grammar Suggestion for Force Load ConfigurationIn the force load description, consider adding the definite article before “Redux store” (e.g. “the Redux store now supports …”) for improved clarity and consistency.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/misc/doctrine.md (1)
15-15
: Grammar Suggestion in Hot Reloading DescriptionThe sentence on line 15 would benefit from a slight rephrasing. For example, change “…works for both using an [Express server] to load stubs for the ajax requests, as well as using a live Rails server…” to “…works for both using an [Express server] to load stubs for the ajax requests and using a live Rails server…”
🧰 Tools
🪛 LanguageTool
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...(BOTH_AS_WELL_AS)
docs/guides/rails-webpacker-react-integration-options.md (1)
186-186
: Grammar Nitpick for SASS Loader OptionIn the heading for adjusting the Webpack configuration, adding “the” before the
sourceMapContents
option (i.e. “so that thesourceMapContents
option…”) would enhance clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the SASS l...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/upgrading-react-on-rails.md (1)
171-171
: Formatting Nitpick in List ItemThe bullet point on line 171 appears slightly loose regarding punctuation. A minor reformatting to ensure consistent punctuation throughout the list would improve clarity.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... yourclient
directory -.gitignore
: add/public/webpack/*
-Gemfile
: bu...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (2)
101-101
: Minor punctuation suggestion for improved rhythm.
At line 101, consider adding a comma for a slight pause to improve readability. For example:-Now the browser should reflect changes in `.js` and `.css` files without reloading. +Now, the browser should reflect changes in `.js` and `.css` files without reloading.If you agree, please update accordingly.
103-103
: Editorial suggestion for conditional phrasing.
To emphasize the phrase “for some reason,” wrapping it with commas can enhance clarity. For example:-If for some reason the plugin doesn't work, you can revert the changes and leave only devServer `hmr`/`inline` set to true, affecting only CSS files. +If, for some reason, the plugin doesn't work, you can revert the changes and leave only devServer `hmr`/`inline` set to true, affecting only CSS files.This small change improves the flow of the sentence.
🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
PROJECTS.md (1)
58-59
: Updated GitHub search link entry.
The list item now includes a link for a GitHub search for repos usingreact_on_rails
along with a note about potential false positives. This enhancement is useful for users exploring related projects.
A minor note regarding stylistic consistency: ensure that “GitHub” is always capitalized uniformly in your headings and list items.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (79)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(16 hunks)CONTRIBUTING.md
(7 hunks)NEWS.md
(4 hunks)PROJECTS.md
(2 hunks)README.md
(2 hunks)SUMMARY.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/migrating-from-react-rails.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(5 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/javascript-api.md
(3 hunks)docs/api/redux-store-api.md
(1 hunks)docs/api/view-helpers-api.md
(3 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(3 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/deployment/heroku-deployment.md
(1 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/configuration.md
(6 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(3 hunks)docs/guides/how-react-on-rails-works.md
(2 hunks)docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
(1 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/installation-into-an-existing-rails-app.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/react-server-rendering.md
(1 hunks)docs/guides/render-functions-and-railscontext.md
(5 hunks)docs/guides/rspec-configuration.md
(2 hunks)docs/guides/tutorial.md
(2 hunks)docs/guides/upgrading-react-on-rails.md
(7 hunks)docs/guides/webpack-configuration.md
(2 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(5 hunks)docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(5 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(2 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/deferred-rendering.md
(2 hunks)docs/outdated/rails-assets-relative-paths.md
(5 hunks)docs/outdated/rails-assets.md
(3 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/rails-engine-integration.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/handleError.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/README.md
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/startup/HelloWorldApp.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.client.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.server.jsx
(1 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
✅ Files skipped from review due to trivial changes (8)
- docs/outdated/deferred-rendering.md
- docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
- docs/guides/configuration.md
- SUMMARY.md
- docs/rails/rails-engine-integration.md
- docs/deployment/heroku-deployment.md
- docs/api/javascript-api.md
- docs/guides/installation-into-an-existing-rails-app.md
🚧 Files skipped from review as they are similar to previous changes (40)
- docs/javascript/webpack.md
- spec/dummy/client/app/startup/RenderedHtml.client.jsx
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
- node_package/src/handleError.ts
- docs/additional-details/updating-dependencies.md
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/javascript/angular-js-integration-migration.md
- node_package/src/context.ts
- node_package/src/StoreRegistry.ts
- spec/dummy/client/app/startup/RenderedHtml.server.jsx
- docs/contributor-info/generator-testing.md
- docs/javascript/react-router.md
- spec/dummy/Procfile.dev-static
- node_package/src/Authenticity.ts
- spec/dummy/client/app/startup/HelloWorldApp.jsx
- node_package/src/ComponentRegistry.ts
- lib/tasks/assets.rake
- lib/react_on_rails/helper.rb
- docs/home.md
- spec/dummy/client/README.md
- docs/guides/file-system-based-automated-bundle-generation.md
- docs/api/view-helpers-api.md
- NEWS.md
- docs/javascript/react-and-redux.md
- node_package/src/registerServerComponent/server.ts
- docs/additional-details/manual-installation-overview.md
- docs/additional-details/recommended-project-structure.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- docs/additional-details/generator-details.md
- docs/contributor-info/pull-requests.md
- docs/javascript/capistrano-deployment.md
- .github/workflows/main.yml
- lib/generators/USAGE
- docs/javascript/server-rendering-tips.md
- CHANGELOG.md
- docs/misc/tips.md
- docs/guides/client-vs-server-rendering.md
- node_package/src/ReactOnRails.client.ts
- README.md
- node_package/src/types/index.ts
🧰 Additional context used
🪛 LanguageTool
docs/additional-details/migrating-from-react-rails.md
[uncategorized] ~15-~15: Possible missing comma found.
Context: ...e default name in react_on_rails
. The decision made here, affects the other steps. ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/how-react-on-rails-works.md
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...
(AMONGST)
CONTRIBUTING.md
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...
(EN_EXCESSIVE_EXCLAMATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...- @some_props
can be either a hash or JSON string. This is an optional argument as...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/i18n.md
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...
(WANT_TO_NN)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the SASS l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/react-on-rails-overview.md
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/react-server-rendering.md
[grammar] ~5-~5: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...ering/). ## What is the easiest way to setup a Webpack configuration for server-side...
(NOUN_VERB_CONFUSION)
docs/guides/render-functions-and-railscontext.md
[uncategorized] ~77-~77: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter of the railsContext if you do...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~77-~77: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...
(COMMA_COMPOUND_SENTENCE)
docs/guides/rspec-configuration.md
[uncategorized] ~25-~25: “where” seems less likely than “were”.
Context: ...pically, your integration/feature specs where js: true
), you will want to ensure yo...
(AI_HYDRA_LEO_CPT_WHERE_WERE)
[style] ~30-~30: This phrase is redundant. Consider using “inside”.
Context: ..._compile_assets. Call this method from inside of the
RSpec.configureblock in your
sp...
(OUTSIDE_OF)
docs/guides/tutorial.md
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...
(REP_NEED_TO_VB)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
- Gemfile
: bu...
(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/webpack-configuration.md
[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ion. The base setup works great for the client side Webpack configuration. To get a deeper...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
docs/javascript/code-splitting.md
[style] ~139-~139: Consider using “incapable” to avoid wordiness.
Context: ... server rendering with ExecJS, which is not capable of doing anything asynchronous. It woul...
(NOT_ABLE_PREMIUM)
docs/javascript/foreman-issues.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...-uploaderwas failing to finish upload file to S3 when the server was started by
f...
(AI_HYDRA_LEO_MISSING_A)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/misc/doctrine.md
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...
(BOTH_AS_WELL_AS)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...org/#Constants) is a great language for client side coding, much more so than Ruby due to t...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/outdated/rails-assets-relative-paths.md
[uncategorized] ~7-~7: A comma might be missing here.
Context: ...t of you know, when you spin up a Rails application all of your asset files that live withi...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~11-~11: A determiner appears to be missing. Consider inserting it.
Context: ...o get around this, using something like <img src="<%= asset_path('my-image.png') %>" />
. Unfortunately, that will not ...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...at also will move this image out of our client side app, which isn't always ideal. Also, ha...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~13-~13: Consider using a different adjective in this context to strengthen your wording.
Context: ...hardcoding the path to an asset isn't a good approach considering file paths can alw...
(GOOD_ALTERNATIVE)
[style] ~23-~23: Consider replacing this phrase with the adverb “easily” to avoid wordiness.
Context: ...They allow you to load and access files in an easy manner. Both of these loaders are incredibly s...
(IN_A_X_MANNER)
[style] ~23-~23: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...cessed by their public paths, making it very easy to include and use them in your JavaScr...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...xceeds the byte limit, will delegate to file-loader for loading, passing any set que...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ing any set query parameters as well to file-loader (if that sounds like gibberish r...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ... about it soon!). The benefit of using url-loader first, and falling back on file-...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ...g url-loader first, and falling back on file-loader, is that the use of Data Urls sa...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[style] ~27-~27: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...need to be made to fetch files. That is very important in regards to how fast a webpage will l...
(EN_WEAK_ADJECTIVE)
[misspelling] ~27-~27: Although “in regards to” is sometimes used in casual speech, it is typically considered a nonstandard phrase.
Context: ... to fetch files. That is very important in regards to how fast a webpage will load. Generally...
(IN_OR_WITH_REGARDS_TO_OF)
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[grammar] ~75-~75: “React” is a proper noun and needs to be capitalized.
Context: ...ry is already ignored by git due to the react_on_rails generated gitignore, meaning t...
(A_GOOGLE)
[uncategorized] ~108-~108: A comma might be missing here.
Context: .../>; } } ``` myImage
in the example above will resolve to the path of that asset ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~108-~108: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...e path of that asset on the web server. Therefore using it as an img's source would then ...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/outdated/rails-assets.md
[formatting] ~25-~25: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...s compiled by Webpack on the client side, because they don't use image-url
and `asset-u...
(COMMA_BEFORE_BECAUSE)
[uncategorized] ~49-~49: Possible missing comma found.
Context: ...ows how the file names output by Rails. Note the original names after being processe...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/webpack-v1-notes.md
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...
(REP_WANT_TO_VB)
[uncategorized] ~11-~11: Possible missing comma found.
Context: ... to break out libraries into a "vendor" bundle where your libraries are packaged separ...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
spec/dummy/README.md
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
🪛 markdownlint-cli2 (0.17.2)
docs/guides/render-functions-and-railscontext.md
79-79: Link fragments should be valid
null
(MD051, link-fragments)
🔇 Additional comments (101)
docs/guides/react-server-rendering.md (1)
7-7
: Consistent Capitalization Approved
The term “Webpack” has been correctly capitalized, and “Webpack setup” is appropriately used as a noun. No changes are needed here.docs/guides/webpack-configuration.md (1)
1-43
: Absolute URL Usage for Links
Past feedback noted that relative links don't work properly with the Shakacode website. It's reassuring to see that all links in this document use absolute URLs, ensuring consistent access.🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ion. The base setup works great for the client side Webpack configuration. To get a deeper...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~12-~12: Consider an alternative adjective to strengthen your wording.
Context: ...t side Webpack configuration. To get a deeper understanding of Shakapacker, watch [Ra...(DEEP_PROFOUND)
[uncategorized] ~21-~21: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...eact on Rails setup of putting all your client side files under the/client
directory. Wh...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~21-~21: It appears that in this idiom a possessive apostrophe is missing.
Context: ...the mechanism of Webpack configuration, for simplicity sake we'll assume that these choices go toge...(FOR_NOUN_SAKE)
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
docs/rails/turbolinks.md (10)
7-7
: Documentation Clarity: Turbo Reference Updated
The link now points to Turbo’s official documentation and the text clearly indicates that Turbolinks is becoming obsolete. This change enhances modernity and accuracy in the documentation.
33-34
: Clearer Requirements for Using Turbolinks
This update succinctly highlights potential conflicts with React Router and advises using a unified JS/CSS bundle. Please verify that the numbered list format integrates well with the rest of the document’s styling.
38-38
: Clarification on React Router and Turbolinks Interaction
The updated bullet explicitly explains that while React Router handles navigation controls, Turbolinks offers similar functionality—prompting users to share their experiences. This community-driven note is a nice touch.
66-66
: Turbolinks 5 Support Statement
The updated statement now clearly communicates that Turbolinks 5 is supported and that React on Rails will automatically select the correct event handlers. This is a straightforward and useful clarification.
81-81
: Async Script Loading Update
By indicating that async script loading is available starting with Shakapacker 8.2, the documentation provides a timely update for users. This line is clear and concise.
87-87
: Workaround for Initial Page Load Issue
The explanation about the non-firing ofturbolinks:load
on the initial page load in Turbolinks 5, and the recommendation to usedefer
instead ofasync
for React on Rails <15, is clear and actionable.
103-103
: Removal of Unnecessary Event Listener in React on Rails 15
This update informs users that with React on Rails 15, the manual event listener is no longer necessary sincereactOnRailsPageLoaded()
is now async. It effectively guides users toward a cleaner configuration.
104-105
: Important Warning onforce_load
Option
The newly added warning emphasizes thatforce_load: false
should not be used with Turbolinks when async scripts are involved. This is a critical point that helps prevent configuration issues.
154-154
: Recommendation to Use JS Packages for Turbolinks
The note clarifying that the RubyGem versions of jQuery and jQuery-ujs may cause issues with Turbolinks—and advising the use of JS packages instead—is both practical and informative. Please ensure the tutorial link remains up to date.
156-156
: Updated Informative Image
The updated image now better illustrates that Turbolinks handlers are installed only once. Double-check that the image is accessible and the link is current.docs/javascript/code-splitting.md (5)
9-10
: Clarify the Definition of Code SplittingThe updated introductory sentence (“What is code splitting? From the Webpack documentation:”) nicely frames the topic with a direct reference.
23-24
: Enhance Explanation of Markup DifferencesThe revised description explaining how different markup is generated on the client versus the server is clear and instructive.
141-141
: Reinforce Server-side Renderer RestrictionsThe reminder not to register a renderer function on the server is concise and clear.
146-147
: Clarify Webpack Configuration InstructionsThe prompt to add the output key to the Webpack configuration is clear and aligned with the documentation’s tone.
156-157
: Improve Explanation of Asset Path PrependingThe explanation regarding how Webpack prepends the code chunk filename with “/assets/” is thorough and clear.
docs/javascript/troubleshooting-when-using-shakapacker.md (2)
12-13
: Clarify the Failure DescriptionThe revised sentence at the start of “The failure” section now clearly states the issue encountered when embedding the runtime in each chunk. This improved description should help users quickly identify the problem.
50-51
: Reinforce the Problem StatementRepeating the problem statement later in the document reinforces the issue effectively. This clear reiteration aids in bridging the failure description with potential solutions.
docs/guides/tutorial.md (1)
115-117
: Note on Redux UsageThe note that using Redux is no longer recommended—as React Hooks now power the basic installer—is clear and timely. This update appropriately directs users wishing to install Redux to the extra command.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~115-~115: Possible missing comma found.
Context: ...nged. Note, usingredux
is no longer recommended as the basic installer uses React Hooks...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/react-helmet.md (2)
92-93
: Clarify Output of react_component_hashThe updated explanation that calling
react_component_hash
now returns a hash instead of an HTML string (and that there is no need for “prerender”) is clear and informative.🧰 Tools
🪛 LanguageTool
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
107-109
: Standardize Embedded Ruby Code BlockSwitching the code block language to
erbruby
for embedded Ruby content (yielding the title tag) enhances clarity and accurately reflects the content’s context.docs/guides/rspec-configuration.md (3)
5-8
: Consistent Capitalization of "Webpack"
The heading and introductory sentence now consistently use “Webpack” (with a capital “W”), which improves overall documentation consistency.
14-14
: Clarified Helper Option Description
The updated bullet for “Use the React on Rails settings and helpers” is clearer and emphasizes the alternative to Shakapacker's compile option.
54-56
: Stylistic Consistency in Bullet Details
The additional bullet points (e.g., about older source files and Webpack generated folders) now provide clear instructions. No further changes are needed.docs/outdated/webpack-v1-notes.md (1)
7-7
: Enhanced Explanation for the--bail
Option
The revised text now clearly explains the impact of using the--bail
option in CI and deployment scenarios. This clarification will help users make an informed choice when configuring their build scripts.docs/api/redux-store-api.md (2)
3-7
: Clear Emphasis on Deprecated API via Warning Block
The new warning block effectively calls attention to the deprecation of the Redux API, advising users to switch to thereact_component
view helper. This enhancement boosts the documentation’s guidance.
7-7
: Improved Grammar in Explanatory Text
The explanation now correctly uses “was set up” which improves grammatical accuracy and readability.docs/guides/i18n.md (3)
24-25
: Enhanced Instructions for Development Setup
The addition of a colon and clearer instruction regarding adjusting startup scripts makes the setup process more straightforward.
27-28
: Clear CI Configuration Guidance
The clarification about runningbundle exec rake react_on_rails:locale
from CI is succinct and easy to follow.
85-93
: Comprehensive and Detailed Instructions for i18n Setup
The subsequent instructions and code examples are clear, detailed, and correctly formatted. They effectively guide the user through setting up internationalization with React on Rails.docs/deployment/elastic-beanstalk.md (2)
3-4
: Improved Yarn installation instructions.
The updated lines clearly mention that yarn must be installed on each instance to prevent asset compilation failures, which enhances clarity.
47-47
: Nginx configuration notice.
The additional note about the location of React app JavaScript files underpublic/packs
and the Nginx requirement is useful for deployment.docs/guides/how-react-on-rails-works.md (6)
7-7
: Emphasized Git management of bundles.
The reminder that generated bundle files should be added to.gitignore
helps prevent unnecessary repository clutter.
9-9
: Usage of React component helper.
The updated instruction on using thereact_component
helper to pass props directly in Rails views improves clarity.
11-11
: Clarification on Redux store initialization.
Highlighting the optional use ofredux_store
to share the Redux store among components is a useful addition.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...(AMONGST)
31-31
: Bundle regeneration process explained.
The explanation that changes in client code require re-generation of bundles (with Foreman automatically handling it) is precise and informative.
35-35
: Production bundle building details.
Detailing thatshakapacker
automatically runs Webpack on production deployments (e.g., on Heroku) clarifies the expected behavior.
37-37
: Option for custom Webpack commands.
The transitional note that explains how to override the default behavior by running custom commands meets advanced users’ needs.spec/dummy/README.md (1)
1-1
: Updated heading for clarity.
Changing the heading to “Using NPM for React on Rails” provides a clear indicator of the package management tool in use.docs/outdated/rails-assets.md (5)
8-9
: Clarification on filename digesting.
The block quote now explicitly explains that the filename is the MD5 hash of the file’s contents followed by its original extension, which is clearer for readers.
22-26
: Improved explanation of asset URL transformation.
The updated passage effectively contrasts how Rails transforms URLs for CSS (using helpers likeimage-url
) versus JS files, making the potential pitfalls clearer.🧰 Tools
🪛 LanguageTool
[formatting] ~25-~25: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...s compiled by Webpack on the client side, because they don't useimage-url
and `asset-u...(COMMA_BEFORE_BECAUSE)
31-32
: Impact of double-digesting explained.
Clarifying that Rails’ additional digesting can cause asset loading issues is useful for troubleshooting deployment problems.
38-39
: Update on symlink solution status.
The note succinctly communicates that the symlink solution was removed in v14 and directs interested users to open a GitHub issue, keeping documentation concise.
49-50
: Clear output example for asset naming.
The excerpt providing sample log output of asset filenames post-digest is a practical illustration that aids in understanding the process.🧰 Tools
🪛 LanguageTool
[uncategorized] ~49-~49: Possible missing comma found.
Context: ...ows how the file names output by Rails. Note the original names after being processe...(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/rails-assets-relative-paths.md (18)
5-5
: Strong opening statement.
The updated tagline immediately signals that this document is tailored for using assets with React components, which is engaging and clear.
7-7
: Enhanced context on asset pipeline behavior.
Expanding on how assets withinapp/assets/
are handled by Rails adds useful background for readers unfamiliar with the pipeline.🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: A comma might be missing here.
Context: ...t of you know, when you spin up a Rails application all of your asset files that live withi...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
11-11
: Clear identification of asset referencing challenges.
The text now effectively outlines the problems with directly using images in React components and the limitations of using ERB for asset paths with Webpack.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: A determiner appears to be missing. Consider inserting it.
Context: ...o get around this, using something like<img src="<%= asset_path('my-image.png') %>" />
. Unfortunately, that will not ...(AI_EN_LECTOR_MISSING_DETERMINER)
13-13
: Articulation of trade-offs in asset placement.
The explanation that placing assets inapp/assets/
may inadvertently remove them from the client-side bundle is well stated.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...at also will move this image out of our client side app, which isn't always ideal. Also, ha...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~13-~13: Consider using a different adjective in this context to strengthen your wording.
Context: ...hardcoding the path to an asset isn't a good approach considering file paths can alw...(GOOD_ALTERNATIVE)
23-23
: Detailed comparison of Webpack loaders.
The description contrasting url-loader and file-loader is thorough and helps readers understand the subtle differences between the two options.🧰 Tools
🪛 LanguageTool
[style] ~23-~23: Consider replacing this phrase with the adverb “easily” to avoid wordiness.
Context: ...They allow you to load and access files in an easy manner. Both of these loaders are incredibly s...(IN_A_X_MANNER)
[style] ~23-~23: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...cessed by their public paths, making it very easy to include and use them in your JavaScr...(EN_WEAK_ADJECTIVE)
29-29
: Important note on loader selection.
Informing the reader that file-loader will be used for the remainder of the document sets clear expectations for the upcoming configuration examples.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...(AI_EN_LECTOR_MISSING_DETERMINER_A)
51-51
: Clarification on syntax equivalence for loader configuration.
The note that both the inline query parameter syntax and the JSON object style achieve the same result is concise and helpful.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
61-61
: Clear instructions for setting the filename.
The explanation about configuring the file’s resulting name (with an MD5 hash) is clear and instructive.
67-67
: Concise explanation of filename hashing.
This line clearly conveys that the file’s name will incorporate its original name plus an MD5-digested hash, which is useful for cache busting.
69-69
: Guidance on setting the outputPath.
The explanation on where the bundled assets will be outputted adds clarity for developers configuring their asset pipeline.
71-73
: Accurate code snippet for outputPath configuration.
The provided snippet shows how to set the outputPath to'webpack-assets/'
, which is clear and correct relative to the documented structure.
75-75
: Asset output best practice noted.
The note advising placement insideapp/assets/webpack/
to avoid duplicate git tracking is a helpful best practice suggestion.🧰 Tools
🪛 LanguageTool
[grammar] ~75-~75: “React” is a proper noun and needs to be capitalized.
Context: ...ry is already ignored by git due to the react_on_rails generated gitignore, meaning t...(A_GOOGLE)
77-77
: Explanation of publicPath configuration.
This segment clearly explains that the publicPath defines how assets will be accessed on the Rails server, which is essential for proper asset delivery.
79-81
: Consistent publicPath usage.
The code snippet demonstrating the publicPath (set to/assets/webpack-assets/
) reinforces consistency with the outputPath and overall configuration.
87-87
: Encouraging concluding statement.
The final “Voila!” line provides a positive and clear conclusion to the Webpack setup instructions.
108-108
: Clarification of asset resolution in JSX.
The explanation thatmyImage
resolves to the correct asset URL is valuable for understanding how assets are imported and used within React components.🧰 Tools
🪛 LanguageTool
[uncategorized] ~108-~108: A comma might be missing here.
Context: .../>; } } ```myImage
in the example above will resolve to the path of that asset ...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~108-~108: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...e path of that asset on the web server. Therefore using it as an img's source would then ...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
110-110
: Important reminder on asset bundling.
The note emphasizing that unimported assets will not be bundled by Webpack is crucial for developers to prevent missing asset issues.
116-124
: Concise summary checklist for loader configuration.
The summary list effectively recaps the steps for configuring file-loader in Webpack, ensuring that readers have a clear reference of what needs to be done.docs/additional-details/migrating-from-react-rails.md (2)
11-11
: Clearer Installation Instruction.
The updated instruction, “Runrails g react_on_rails:install
but do not commit the change,” clearly informs users that while the generator installs several components (node dependencies, sample components, Rails view/controller, and routes updates), the changes should not be immediately committed.
27-30
: Proper Update for View Helper Syntax.
The diff block updating thereact_component
call to use the{ props: { ... } }
format is clear and aligns well with the new API requirements.docs/getting-started.md (2)
74-74
: Clarify Webpack Version Support.
The added line emphasizes that most apps are expected to rely on Shakapacker’s default setup and notes that Shakapacker v6+ supports Webpack version 5. This explicit clarification benefits users upgrading their projects.
102-105
: Enhanced Code Block Syntax Highlighting.
Using theerbruby
code block for the Rails view example reinforces correct syntax highlighting and improves overall readability of the embedded Ruby code.docs/guides/render-functions-and-railscontext.md (2)
42-42
: Enhance Alternate API Description.
The modified sentence now properly formatscreateElement
with backticks and includes the article “an,” which improves clarity for readers learning the alternate API.
71-71
: Highlight Redux Store Initialization Requirements.
The note that “any Redux store is always initialized with 2 parameters” is now more prominent and reinforces this important detail.docs/contributor-info/linters.md (6)
10-10
: Clarify RuboCop Directory Context.
Changing “probably the top level” to “usually the top level” refines the instruction, making it clearer where users should run RuboCop.
12-14
: Appropriate RuboCop Command Usage.
The providedrubocop -a
command is well formatted and clearly instructs users to run the autofix option from the correct directory.
16-16
: ESLint Directory Guidance.
The instruction for ensuring you are in the correct directory for JavaScript files when running ESLint is clear and concise.
18-20
: Proper ESLint Autofix Command.
The commandeslint --fix .
is presented in a clear code block, which makes it easy for users to copy and run.
24-26
: Clear Alternative ESLint Command.
Including the alternative npm script command (npm run lint -- --fix
) gives users flexibility based on their setup.
70-73
: Updated RuboCop Reference.
The link to the RuboCop website is now correctly integrated into the document, reinforcing the resource for further information.CONTRIBUTING.md (4)
7-7
: Added Prerequisites Section.
Introducing the “## Prerequisites” section improves the document’s structure and helps set clear expectations for contributors before diving into setup instructions.
119-119
: Correct Node Packages Nomenclature.
Updating “node_package” to “node_packages” enhances clarity and ensures consistency in terminology across the documentation.
121-121
: Useful Side Note on Webpack Aliases.
The added side note about using the alias section of the Webpack config is valuable as it helps prevent issues like double inclusion errors.
140-141
: Clarify Build Process Instructions.
The instructions detailing how to build the Yarn package and generate the necessary Webpack bundles forspec/dummy
are clear and practical, aiding contributors in setting up the development environment correctly.docs/release-notes/15.0.0.md (1)
39-49
: Async Function Update VerificationThe before/after code block for
ReactOnRails.reactOnRailsPageLoaded()
clearly shows the required async-await usage. The diff looks clean and self-explanatory.docs/misc/doctrine.md (1)
43-45
: Library Links Update VerifiedThe updated URLs for React, React Router, and Redux now correctly point to their official documentation sites. This improves reference accuracy across the document.
docs/guides/rails-webpacker-react-integration-options.md (4)
159-170
: Babel Configuration Update VerifiedThe addition of the
react-hot-loader/babel
plugin with thesafetyNet: false
option is clearly formatted and correctly documented.
174-184
: React Hot Loader Entry Point UpdateThe diff showing the update to import and wrap the App component with
hot(App)
is concise and correct. This change clearly modernizes the entry point.
187-201
: Webpack SASS Loader Configuration UpdateThe modified diff that disables
sourceMapContents
whenmodule.hot
is not active is clear and serves its purpose. Excellent work on this improvement.
203-215
: Webpack Environment Alias Update VerifiedMerging an alias for
'react-dom'
to point to@hot-loader/react-dom
is well implemented and clearly documented in the diff.docs/guides/upgrading-react-on-rails.md (9)
29-30
: Prerequisites Clarity for v12 UpgradeThe note on lines 29–30 clearly advises users to ensure they are on recent versions of Rails and Webpacker. No further changes are necessary here.
40-42
: i18n Output Format ClarificationThe instruction to set
config.i18n_output_format = 'js'
as a precursor to later converting to JSON is clear. This guidance should help users avoid confusion during the migration.
173-173
: Layout Views GuidanceThe note about ensuring that assets bundled by Webpack are requested with a
javascript_pack_tag
orstylesheet_pack_tag
is clear and concise.
232-232
: Upgrade Option ClarityThe alternative option provided on line 232—to delete the Webpack config and remove its loaders and plugins from
client/package.json
—is clearly stated and offers users a straightforward migration path.
195-195
: Webpack Output Usage NoteThe comment on line 195 correctly highlights that the
output
variable will be used for Webpack’s output rules. This note is clear and informative.
242-242
: Node Modules Location UpdateThe addition of
config.node_modules_location
(defaulting to an empty string and suggesting setting it to'client'
) is well documented. This clarity helps in maintaining a consistent project directory structure.
245-245
: Command Renaming Notice (Test Command)The renaming of
config.npm_build_test_command
toconfig.build_test_command
is clearly communicated and easy to follow.
246-246
: Command Renaming Notice (Production Command)Similarly, the change from
config.npm_build_production_command
toconfig.build_production_command
is straightforward and well documented.
254-254
: WebpackConfigLoader Renaming UpdateThis note alerts users to update property names in their Webpack configuration per the new naming conventions. The instructions are clear and concise.
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (4)
11-11
: Documentation clarity on Webpack plugin details.
The revised sentence at line 11 clearly directs users to further details about the react-refresh-webpack-plugin usage. No changes are needed here.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
19-20
: Enhanced explanation for server-side rendering options.
The updated text beginning at line 19 now clearly explains that there are multiple options for server-side rendering. It reads naturally and improves readability.
28-30
: Configuration snippet format is clear.
The Ruby code snippet settingconfig.same_bundle_for_client_and_server = true
is now properly delineated. This improves documentation consistency and ease of copy-pasting.
75-85
: Code snippet for setting up plugins in the Webpack dev server.
The commented section labeled “// plugins” and the conditional appending of the ReactRefreshWebpackPlugin are correctly formatted. If desired, you might consider ensuring that the comment style (a space after//
) is consistent throughout the document.PROJECTS.md (3)
32-32
: Addition of the Apprentus project link.
The new entry for “Apprentus” at line 32 is clear and provides useful context about the project. The description is concise and the link appears accurate.
60-64
: New Reverse Dependencies section added.
The addition of the “## Reverse dependencies” section along with the two links (for Gems and NPM packages) is a valuable resource for users wanting to explore dependent projects. The formatting and content are clear.
58-58
: Grammar note on GitHub reference.
A static analysis hint noted that the singular proper name “GitHub” should be used with a third-person or past tense verb. Although this is a list item with a link title rather than a full sentence, please review to ensure consistency in tone and verb usage elsewhere in the document.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
984d0bc
to
c7e47f2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (39)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md (1)
7-7
: Consistent Branding and Punctuation Suggestion
The update correctly changes “react-router” to “React Router” for proper branding. For enhanced readability, consider inserting a comma after “entry point” so that the sentence reads “…a top-level entry point, such as the entry point for a React Router app component.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/code-splitting.md (1)
139-139
: Wording Refinement Suggestion
The phrase “which is not capable of doing anything asynchronous” can be made more concise by replacing “not capable” with “incapable” (e.g. “which is incapable of doing anything asynchronous”).🧰 Tools
🪛 LanguageTool
[style] ~139-~139: Consider using “incapable” to avoid wordiness.
Context: ... server rendering with ExecJS, which is not capable of doing anything asynchronous. It woul...(NOT_ABLE_PREMIUM)
docs/guides/rspec-configuration.md (3)
25-25
: Punctuation Improvement for Clarity
In the sentence that begins “Because you will probably want to run RSpec tests that rely on compiled Webpack assets…”, consider placing a comma after “Webpack assets” to delineate the introductory clause and improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...bpack assets, you will get invalid test results as your tests do not use the very lates...(AI_HYDRA_LEO_MISSING_COMMA)
32-32
: Conciseness in Instructional Wording
Rather than “Call this method from inside of theRSpec.configure
block…”, simplifying it to “Call this method inside theRSpec.configure
block…” can make the instruction more concise.
54-54
: Clarification on Handling Stale Assets
The note about older source files not triggering a recompilation—and the recommendation to clear the Webpack-generated files directory—is very helpful for avoiding pitfalls with stale assets.docs/guides/tutorial.md (1)
63-63
: Variety in Phrasing Suggestion
Consider varying the phrasing in “if you are using an older version of Rails, you'll need to install Webpacker with React…” to avoid repetition with similar nearby instructions.🧰 Tools
🪛 LanguageTool
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...(REP_NEED_TO_VB)
docs/outdated/webpack-v1-notes.md (1)
7-7
: Editorial Clarity on the Bail Option InstructionThe updated sentence clearly explains that using the
--bail
option causes CI or deployment to halt on build failure and advises checking the exit code if you need full error details. Consider rephrasing parts of the sentence to avoid stylistic repetition with similar instructions elsewhere in the document.docs/javascript/angular-js-integration-migration.md (1)
7-7
: Minor Grammatical Suggestion for ConsistencyThe updated paragraph detailing asset handling now instructs users how to package JavaScript libraries and set up the default directory. As a minor stylistic suggestion, consider using contractions (for example, “you’re” instead of “you”) if that matches the overall tone of the documentation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...(AI_HYDRA_LEO_CP_YOU_YOUARE)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Grammatical Improvement for Directory DescriptionThe sentence “...and it creates
/home/webapp
directory…” could be slightly improved by adding a definite article. For example, consider “...and it creates the/home/webapp
directory…”🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/outdated/rails-assets.md (1)
31-32
: Minor Grammatical CorrectionThe phrase “cause such these assets to fail to load” appears awkward. Consider removing the extraneous “such” so it reads: “...will cause these assets to fail to load.”
docs/outdated/rails-assets-relative-paths.md (4)
11-11
: Add a Determiner Before “erb”
Consider inserting an article (for example, “an” or “the”) before “erb” to improve grammatical clarity in the sentence.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: A determiner appears to be missing. Consider inserting it.
Context: ...o get around this, using something like<img src="<%= asset_path('my-image.png') %>" />
. Unfortunately, that will not ...(AI_EN_LECTOR_MISSING_DETERMINER)
13-13
: Hyphenate and Adjust Informal Language
It might read better if “client side app” becomes “client-side app.” Additionally, the informal phrase “no bueno” could be replaced with more formal language (e.g. “suboptimal”) for a professional tone.🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...at also will move this image out of our client side app, which isn't always ideal. Also, ha...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~13-~13: Consider using a different adjective in this context to strengthen your wording.
Context: ...hardcoding the path to an asset isn't a good approach considering file paths can alw...(GOOD_ALTERNATIVE)
29-29
: Include an Article with “file-loader”
To improve clarity, consider adding an article (e.g. “the file-loader”) in the sentence.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...(AI_EN_LECTOR_MISSING_DETERMINER_A)
51-51
: Refine “exact same” Phrase
The phrase “do the exact same thing” is a bit wordy. You might simply say “do the same thing.”🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
spec/dummy/README.md (1)
3-3
: Compound Modifier Formatting
When describing the location (i.e. “the spec/dummy/client/node_modules to the top level”), consider hyphenating “top-level” to clarify that it functions as a compound adjective.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/getting-started.md (2)
98-98
: Sentence Structure and Consistency Check
The sentence explaining component exposure reads clearly. Still, double-check that its subject and determiner usage remain consistent with the rest of the document. If needed, explicitly add “your” or “the” (e.g. “Exposing your component in this way …”) for added clarity.
142-145
: Clarify Server Rendering Alternatives
The alternative approaches for handling server- versus client-specific code are well described. You might consider a brief note on potential pitfalls of using a simpleif (window)
check (since it assumes a browser environment) for the benefit of readers less familiar with cross-environment issues.docs/additional-details/recommended-project-structure.md (3)
32-32
: Heading Punctuation Suggestion
The heading “## Moving node_modules from/
to/client
with a custom Webpack setup.” ends with a period. For consistency with common Markdown style guidelines, consider removing the trailing punctuation.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
32-32: Trailing punctuation in heading
Punctuation: '.'(MD026, no-trailing-punctuation)
54-57
: Tone Down Informal Language in Styling Assets Section
The sentence “This isn't really a technique, as you keep handling all your styling assets…” is clear. If you wish to maintain a professional tone throughout, you might reconsider phrases like “isn’t really a technique” in favor of “is not a distinct approach.”
60-62
: Simplicity Highlight is Expressive
The statement “Much simpler! There's no change from your current processes.” is concise. The enthusiastic tone is acceptable in documentation, but you might consider reducing the number of exclamation marks if uniformity is a concern.docs/contributor-info/linters.md (1)
28-28
: Moderate Exclamation Usage
The phrase “Autofixing is a HUGE time saver!” uses multiple exclamation marks which might come across as overly emphatic. Consider toning it down to maintain a professional tone (for example, “Autofixing is a huge time saver.”).🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...(EN_EXCESSIVE_EXCLAMATION)
docs/guides/webpack-configuration.md (1)
9-10
: Clarify Shakapacker Feature Descriptions
The list items now concisely describe the benefits provided by Shakapacker. Consider using a hyphen so that “client side Webpack configuration” reads as “client‑side Webpack configuration” for improved clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ion. The base setup works great for the client side Webpack configuration. To get a deeper...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/guides/render-functions-and-railscontext.md (3)
5-6
: Clarify Parameter Explanation
The introductory text now clearly explains that two parameters are passed to render-functions. A minor rephrasing—such as “when you use a render‐function to create React components or rendered HTML on the server, or to set up shared Redux stores, two parameters are passed…”—could further smooth out the flow.
41-41
: Alternate API Clarification
The note on the alternate API—that requires callingReact.createElement
—is concise. Emphasizing its use-case for developers less familiar with the API might further assist readers.
77-81
: Enhance Note on Render‑Function Parameter Handling
The note effectively explains that React on Rails automatically handles calls to render‑functions and clarifies the treatment of the second parameter. Consider rephrasing “the second parameter of the railsContext” to “the second parameter, railsContext,” for better clarity and grammatical consistency.🧰 Tools
🪛 LanguageTool
[uncategorized] ~78-~78: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter of the railsContext if you do...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~78-~78: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...(COMMA_COMPOUND_SENTENCE)
🪛 markdownlint-cli2 (0.17.2)
79-79: Blank line inside blockquote
null(MD028, no-blanks-blockquote)
docs/guides/upgrading-react-on-rails.md (4)
29-29
: Clarify Version Requirements
The note now emphasizes the need for a relatively recent version of Rails and Webpacker, which is very helpful. For even greater clarity, consider specifying the minimum required versions.
160-161
: Reinforce Webpacker Advantages
The bullet points now clearly outline the benefits of Webpacker—especially in avoiding double minification and enabling source maps. You might consider streamlining the language a bit to reduce verbosity.
300-300
: Clarify Non‑Webpacker Setup
The instruction to setcompile: false
in the default section is well stated. Including a brief note on the implications of this setting (such as its effect on asset compilation) could be beneficial.
171-171
: Punctuation Consistency
A static analysis hint flagged a loose punctuation mark around this bullet point. Please review the punctuation at line 171 to ensure consistency and clarity.🧰 Tools
🪛 LanguageTool
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... yourclient
directory -.gitignore
: add/public/webpack/*
-Gemfile
: bu...(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (3)
19-21
: Clarify Server‑Side Rendering Options
The updated text now explains that if you’re using server‑side rendering, a separate Webpack configuration is recommended. For even better clarity, you might specify what the alternative options are.
75-75
: Minor Comment Formatting
The inline comment// plugins
now has improved spacing, which enhances code readability.
103-103
: Fallback Instructions for Plugin Issues
The fallback instruction is detailed and helpful. For a slightly more formal tone, consider rephrasing “If for some reason the plugin doesn't work” to “If, for any reason, the plugin fails to work.”🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
CHANGELOG.md (2)
300-300
: Webpack Configuration Update — Nice Addition
The new Webpack configuration files and the update to Webpacker version 6 are well documented here. It might be helpful to double-check that the generated configuration files meet all the Webpack 6 requirements (e.g. proper module resolution and hooks for HMR).
428-428
: Markdown Formatting Consideration
Static analysis hinted at a minor markdown style issue (unordered list style, inconsistent markers, header increment, etc.). Please verify that the overall styling (lists, link spacing, and header levels) is consistent throughout the file.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
428-428: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
docs/api/view-helpers-api.md (1)
100-102
: Improvedrails_context
Documentation
The revised section now explains that you can callrails_context
with a boolean flag to see the client-side versus server-side context. This clarification is useful for cache key computation and other scenarios. It might be beneficial to add a brief example (or a pointer to one) so users can quickly see a sample output.🧰 Tools
🪛 LanguageTool
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/react-on-rails-overview.md (1)
17-18
: Updated Redux and React Router Integration Links
The list now includes the updated official URLs for Redux and React Router. One nitpick: in the feature description (“integration including server-side-rendering”), consider whether a comma after “integration” would improve readability (e.g. “integration, including server-side-rendering”).🧰 Tools
🪛 LanguageTool
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md (1)
34-36
: Redux Storeforce_load
Clarification
The note about Redux store support forforce_load
(with the ability to override it for individual stores) is informative. You might consider adding a short inline example if space allows, so that users can see how to passforce_load: false
to theredux_store
helper.🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
CONTRIBUTING.md (2)
115-117
: Clarify Node and Ruby Version Manager Setup
The updated line now advises using proper version managers (e.g. rvm with nvm or rbenv with nodenv). Please note that “etc” should be punctuated as “etc.” to conform with American English style.🧰 Tools
🪛 LanguageTool
[style] ~115-~115: In American English, abbreviations like “etc.” require a period.
Context: ...ch as rvm and nvm, or rbenv and nodenv, etc), cd tospec/dummy
and run `bin/setup...(ETC_PERIOD)
185-187
: Repetition and Flow in the Development Setup Section
There are several successive sentences in the “Starting the Dummy App” section that begin similarly. Consider varying the starts or merging sentences to enhance readability and flow.🧰 Tools
🪛 LanguageTool
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (79)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(16 hunks)CONTRIBUTING.md
(7 hunks)NEWS.md
(4 hunks)PROJECTS.md
(2 hunks)README.md
(2 hunks)SUMMARY.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/migrating-from-react-rails.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(5 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/javascript-api.md
(3 hunks)docs/api/redux-store-api.md
(1 hunks)docs/api/view-helpers-api.md
(3 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(3 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/deployment/heroku-deployment.md
(1 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/configuration.md
(6 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(3 hunks)docs/guides/how-react-on-rails-works.md
(2 hunks)docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
(1 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/installation-into-an-existing-rails-app.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/react-server-rendering.md
(1 hunks)docs/guides/render-functions-and-railscontext.md
(10 hunks)docs/guides/rspec-configuration.md
(2 hunks)docs/guides/tutorial.md
(4 hunks)docs/guides/upgrading-react-on-rails.md
(8 hunks)docs/guides/webpack-configuration.md
(2 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(5 hunks)docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(5 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(2 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/deferred-rendering.md
(2 hunks)docs/outdated/rails-assets-relative-paths.md
(5 hunks)docs/outdated/rails-assets.md
(3 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/rails-engine-integration.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/handleError.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/README.md
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/startup/HelloWorldApp.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.client.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.server.jsx
(1 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
🚧 Files skipped from review as they are similar to previous changes (48)
- spec/dummy/client/app/startup/HelloWorldApp.jsx
- docs/home.md
- node_package/src/context.ts
- docs/additional-details/generator-details.md
- docs/guides/installation-into-an-existing-rails-app.md
- docs/additional-details/updating-dependencies.md
- docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
- docs/outdated/deferred-rendering.md
- spec/dummy/client/app/startup/RenderedHtml.client.jsx
- docs/guides/configuration.md
- docs/javascript/troubleshooting-when-using-webpacker.md
- node_package/src/Authenticity.ts
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
- docs/api/redux-store-api.md
- lib/tasks/assets.rake
- docs/deployment/heroku-deployment.md
- docs/javascript/capistrano-deployment.md
- docs/guides/file-system-based-automated-bundle-generation.md
- lib/generators/USAGE
- README.md
- node_package/src/ComponentRegistry.ts
- docs/contributor-info/generator-testing.md
- docs/javascript/webpack.md
- docs/guides/react-server-rendering.md
- docs/javascript/troubleshooting-when-using-shakapacker.md
- spec/dummy/client/app/startup/RenderedHtml.server.jsx
- NEWS.md
- docs/javascript/react-and-redux.md
- spec/dummy/Procfile.dev-static
- node_package/src/registerServerComponent/server.ts
- docs/additional-details/migrating-from-react-rails.md
- lib/react_on_rails/helper.rb
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- .github/workflows/main.yml
- spec/dummy/client/README.md
- node_package/src/ReactOnRails.client.ts
- SUMMARY.md
- node_package/src/StoreRegistry.ts
- node_package/src/handleError.ts
- docs/javascript/react-router.md
- docs/contributor-info/pull-requests.md
- docs/guides/client-vs-server-rendering.md
- docs/additional-details/manual-installation-overview.md
- docs/misc/tips.md
- node_package/src/types/index.ts
- docs/javascript/foreman-issues.md
- docs/api/javascript-api.md
- docs/rails/rails-engine-integration.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md
428-428: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
745-745: Spaces inside link text
null
(MD039, no-space-in-links)
1099-1099: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1473-1473: Bare URL used
null
(MD034, no-bare-urls)
docs/additional-details/recommended-project-structure.md
32-32: Trailing punctuation in heading
Punctuation: '.'
(MD026, no-trailing-punctuation)
docs/guides/render-functions-and-railscontext.md
79-79: Blank line inside blockquote
null
(MD028, no-blanks-blockquote)
🪛 LanguageTool
CONTRIBUTING.md
[style] ~115-~115: In American English, abbreviations like “etc.” require a period.
Context: ...ch as rvm and nvm, or rbenv and nodenv, etc), cd to spec/dummy
and run `bin/setup...
(ETC_PERIOD)
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart foreman. If you change the JS code for react-on-rai...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/api/view-helpers-api.md
[uncategorized] ~100-~100: Possible missing comma found.
Context: ... are in the Rails Context. Pass true or false depending on whether you want to see th...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...
(EN_EXCESSIVE_EXCLAMATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...- @some_props
can be either a hash or JSON string. This is an optional argument as...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/how-react-on-rails-works.md
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...
(AMONGST)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/i18n.md
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...
(WANT_TO_NN)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the SASS l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/react-on-rails-overview.md
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/render-functions-and-railscontext.md
[uncategorized] ~78-~78: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter of the railsContext if you do...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~78-~78: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...
(COMMA_COMPOUND_SENTENCE)
docs/guides/rspec-configuration.md
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...bpack assets, you will get invalid test results as your tests do not use the very lates...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~30-~30: This phrase is redundant. Consider using “inside”.
Context: ..._compile_assets. Call this method from inside of the
RSpec.configureblock in your
sp...
(OUTSIDE_OF)
docs/guides/tutorial.md
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...
(REP_NEED_TO_VB)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
- Gemfile
: bu...
(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/webpack-configuration.md
[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ion. The base setup works great for the client side Webpack configuration. To get a deeper...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
docs/javascript/angular-js-integration-migration.md
[uncategorized] ~7-~7: “you” seems less likely than “you’re” (you are).
Context: ...ils asset pipeline. However, so long as you understand how your JavaScript will e...
(AI_HYDRA_LEO_CP_YOU_YOUARE)
docs/javascript/code-splitting.md
[style] ~139-~139: Consider using “incapable” to avoid wordiness.
Context: ... server rendering with ExecJS, which is not capable of doing anything asynchronous. It woul...
(NOT_ABLE_PREMIUM)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/javascript/server-rendering-tips.md
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/misc/doctrine.md
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...
(BOTH_AS_WELL_AS)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...org/#Constants) is a great language for client side coding, much more so than Ruby due to t...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/outdated/rails-assets-relative-paths.md
[uncategorized] ~7-~7: A comma might be missing here.
Context: ...t of you know, when you spin up a Rails application all of your asset files that live withi...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~11-~11: A determiner appears to be missing. Consider inserting it.
Context: ...o get around this, using something like <img src="<%= asset_path('my-image.png') %>" />
. Unfortunately, that will not ...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~13-~13: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...at also will move this image out of our client side app, which isn't always ideal. Also, ha...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[style] ~13-~13: Consider using a different adjective in this context to strengthen your wording.
Context: ...hardcoding the path to an asset isn't a good approach considering file paths can alw...
(GOOD_ALTERNATIVE)
[style] ~23-~23: Consider replacing this phrase with the adverb “easily” to avoid wordiness.
Context: ...They allow you to load and access files in an easy manner. Both of these loaders are incredibly s...
(IN_A_X_MANNER)
[style] ~23-~23: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...cessed by their public paths, making it very easy to include and use them in your JavaScr...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...xceeds the byte limit, will delegate to file-loader for loading, passing any set que...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ing any set query parameters as well to file-loader (if that sounds like gibberish r...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ... about it soon!). The benefit of using url-loader first, and falling back on file-...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ...g url-loader first, and falling back on file-loader, is that the use of Data Urls sa...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[style] ~27-~27: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...need to be made to fetch files. That is very important in regards to how fast a webpage will l...
(EN_WEAK_ADJECTIVE)
[misspelling] ~27-~27: Although “in regards to” is sometimes used in casual speech, it is typically considered a nonstandard phrase.
Context: ... to fetch files. That is very important in regards to how fast a webpage will load. Generally...
(IN_OR_WITH_REGARDS_TO_OF)
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[grammar] ~75-~75: “React” is a proper noun and needs to be capitalized.
Context: ...ry is already ignored by git due to the react_on_rails generated gitignore, meaning t...
(A_GOOGLE)
[uncategorized] ~108-~108: A comma might be missing here.
Context: .../>; } } ``` myImage
in the example above will resolve to the path of that asset ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~108-~108: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...e path of that asset on the web server. Therefore using it as an img's source would then ...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/outdated/rails-assets.md
[formatting] ~25-~25: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...s compiled by Webpack on the client side, because they don't use image-url
and `asset-u...
(COMMA_BEFORE_BECAUSE)
docs/outdated/webpack-v1-notes.md
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...
(REP_WANT_TO_VB)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
spec/dummy/README.md
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
🔇 Additional comments (79)
docs/javascript/code-splitting.md (2)
9-9
: Clear Introduction for Code Splitting
The introductory question “What is code splitting? From the Webpack documentation:” effectively sets the context and draws the reader’s attention to the feature.
23-23
: Thorough Explanation of Markup Differences
The detailed explanation on why different markup is generated on the client versus the server is well written and informative. It clarifies how asynchronous fetching of code chunks impacts rendering.docs/javascript/react-helmet.md (3)
91-93
: Enhanced Clarification of Helper Behavior
The added explanation that callingreact_component_hash("ReactHelmetApp", ...)
returns a hash instead of an HTML string—and that specifying “prerender” isn’t needed in this scenario—offers valuable clarity to the reader.🧰 Tools
🪛 LanguageTool
[uncategorized] ~91-~91: Possible missing comma found.
Context: ...ed with "ReactHelmetApp" as a first argument it will return a hash instead of an HTM...(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
95-103
: Accurate Code Block Language for ERB Snippets
Changing the code block syntax to useerbruby
appropriately signals that the snippet is for embedded Ruby. This small adjustment improves clarity for users reviewing ERB-based examples.
107-109
: Clear Instruction for Yielding Title Content
The snippet demonstrating the use of<%= yield(:title) if content_for?(:title) %>
clearly shows how to insert the title tag into the layout, further enhancing the documentation’s usefulness.docs/guides/rspec-configuration.md (3)
5-5
: Section Heading Clarification
Introducing the section with “# If your Webpack configurations correspond to Shakapacker's default setup” clearly informs the reader about the specific configuration context being discussed.
7-9
: Well-Structured Options for Asset Compilation
The revised paragraph outlining the two options for ensuring Webpack assets are compiled (using Shakapacker’s compile option versus React on Rails helpers) is clear and actionable.
61-69
: Updated Configuration Guidance
The clarifications added in the configuration settings (e.g., the comments inconfig/react_on_rails.rb
) provide clear, actionable guidance for ensuring the proper compilation and refresh of Webpack assets during test runs.docs/guides/tutorial.md (4)
63-63
: Rails Version Check Instruction
Adding the instruction to runrails -v
and confirm you are using Rails 5.1.3 or above is a useful reminder for ensuring compatibility.🧰 Tools
🪛 LanguageTool
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...(REP_NEED_TO_VB)
116-116
: Clear Instruction on Redux Option
Noting that Redux is no longer the recommended default and providing a clear alternative command if Redux is desired helps prevent confusion.
175-175
: Heroku Database Requirement Clarification
Stating that “Heroku requires your app to use Postgresql” directly informs users of a necessary condition for deployment, which is very helpful.
218-218
: Detailed Postgres Setup Instructions
The step-by-step instructions for setting up Postgres for local development are clear and comprehensive, reducing potential friction for users who need to change their database configuration.docs/outdated/webpack-v1-notes.md (1)
11-11
: Clarification of Vendor Bundle ConfigurationThe revised instruction on configuring entry points for creating a vendor bundle is clear and detailed, outlining the caching consideration for web clients. Overall, the change improves readability and maintains consistency with other documentation updates.
🧰 Tools
🪛 LanguageTool
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...(REP_WANT_TO_VB)
docs/guides/i18n.md (3)
24-24
: Improved CI Startup Script InstructionThe modification now advises running
bundle exec rake react_on_rails:locale
before initiating any Webpack watch process in development. This update clearly communicates the necessary startup order.
27-27
: Clear CI Configuration Note for Test HelpersThe updated sentence provides clear guidance for CI configuration when not using the React on Rails test helper. The instruction is precise and helpful.
32-34
: Enhanced Readability in the Note SectionAdding a colon after “The fix is either” and numbering the options clarifies the list of fixes. This minor change improves the structure and readability of the note.
docs/deployment/elastic-beanstalk.md (2)
3-4
: Clear Yarn Installation RequirementThe new instructions clearly state that Yarn must be installed on each Elastic Beanstalk instance, and they explain that asset compilation will fail if it isn’t present. This important detail helps prevent deployment issues.
47-47
: Helpful Nginx Configuration GuidanceThe update advising that Nginx must be informed about the location of assets under
public/packs
is clear and practical for deployment scenarios.docs/outdated/rails-assets.md (3)
8-9
: Clear Explanation of MD5 Filename GenerationThe updated note now clearly states that the resulting filename is generated as an MD5 hash with the original file’s extension. This clarification is concise and improves reader understanding.
24-25
: Enhanced Explanation of Asset Handling DifferencesThe revision in the explanation—highlighting the difference in asset URL transformations between Rails and Webpack—is clear and beneficial for understanding the potential pitfalls with JS and CSS asset loading.
🧰 Tools
🪛 LanguageTool
[formatting] ~25-~25: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...s compiled by Webpack on the client side, because they don't useimage-url
and `asset-u...(COMMA_BEFORE_BECAUSE)
39-39
: Clarification on the Symlink Solution NoteThe updated note now explicitly mentions that the symlink solution was removed in v14 and advises filing a GitHub issue for further discussion. This makes it clear and actionable.
docs/outdated/rails-assets-relative-paths.md (2)
5-5
: Introductory Sentence Looks Great
The strong, direct sentence grabs the reader’s attention without being verbose.
124-124
: List Item Clarity
The final list item is clear and direct. No changes needed here.docs/getting-started.md (1)
74-74
: Update on Shakapacker Note
The bullet now clearly states that most apps should rely on the Shakapacker setup for Webpack—with Webpack version 5 support. This is concise and clear.docs/additional-details/recommended-project-structure.md (4)
5-9
: Formatting of Example Code Block
The updated code block is clear. Note that previous feedback mentioned non‐breaking spaces—these now appear to have been replaced with regular spaces.
22-25
: Shell Command for Moving Directories is Clear
The commandmv app/javascript client
is straightforward and well presented.
34-34
: Clarity on Support for node_modules Location
The note about Shakapacker’s support for the location ofnode_modules
is clear and helpful.
73-74
: CSS Modules Benefit is Clearly Communicated
The mention of CSS modules and the benefits is clear and effective.docs/contributor-info/linters.md (2)
10-11
: Rubocop Directory Guidance is Clear
The instruction to run RuboCop in the correct directory (usually at the top level) is now clear and helpful.
16-21
: ESLint Autofix Instructions are Well Formatted
The ESLint instructions and accompanying code blocks are clear and adhere to best practices for readability.docs/guides/webpack-configuration.md (2)
25-25
: Enhance Option Explanation Clarity
The description for the default generator setup is clear and directs the reader efficiently to additional resources through the updated links.🧰 Tools
🪛 LanguageTool
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...(IN_ORDER_TO_PREMIUM)
1-1
: Past Comment Reminder on Relative Links
A previous review noted that relative links may not work as expected on the Shakacode website. Please verify that the updated links (which now use absolute URLs) are working correctly.docs/guides/rails-webpacker-react-integration-options.md (2)
11-11
: Update Integration Options Table
The updated table row for [shakacode/react_on_rails] is consistent and clear, with the check marks aligning with documented support.
13-13
: Review External Link and Formatting
The entry for [webpacker-react] is correctly updated. Please double-check that the external link is current and functional.docs/guides/render-functions-and-railscontext.md (4)
26-26
: Note on Function Component Wrapper
The inline comment explaining the need to wrap the output in a function to enable hooks is clear and informative.
71-71
: Consistent Redux Store Initialization Detail
The statement clarifying that Redux stores are always initialized with two parameters is clear and appropriately emphasizes the correct usage of “Redux.”
83-83
: Reference to RailsContext Helper
Linking to theReactOnRails::Helper
implementation provides useful context for users. This reference is well placed and needs no further modification.
207-207
: Clarify Custom Context Behavior
The concluding explanation about how custom values merge into therailsContext
is clear and informative.docs/guides/upgrading-react-on-rails.md (2)
40-42
: Update i18n Output Format Instructions
Guidance on settingconfig.i18n_output_format = 'js'
with a future update to JSON is clear and performance–oriented. Please ensure that this recommendation is fully compatible with existing projects.
243-244
: Command Renaming Clarity
The renaming of the build commands is presented clearly, which should help avoid any potential confusion during the upgrade process.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (3)
11-11
: Reference to React Refresh Plugin
Including a pointer to the Client Side rendering and HMR using react‑refresh‑webpack‑plugin section is very useful. This clearly directs users to additional details.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
29-29
: Code Snippet Verification
The Ruby snippet settingconfig.same_bundle_for_client_and_server = true
is concise and clear.
101-101
: Browser Update Explanation
The note indicating that the browser should reflect changes in both.js
and.css
files without reloading is clear and well communicated.docs/misc/doctrine.md (3)
15-15
: Clarify Package Reference:
The update now references the "[webpack-dev-server] package" instead of the older phrasing. This clarification helps users immediately recognize the correct package name.🧰 Tools
🪛 LanguageTool
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...(BOTH_AS_WELL_AS)
19-20
: Emphasize NPM Sourcing:
The revised bullet points now stress obtaining JavaScript from NPM rather than rubygems.org. This aligns with modern practices and ensures consistency in messaging.
43-45
: Update Library References:
The URLs and naming for React, React Router, and Redux have been updated to their official sites. This change ensures users are directed to the current documentation and resources.docs/javascript/server-rendering-tips.md (6)
7-8
: Clarify Server-Side Context Warning:
Emphasizing thatdocument
is not available in server-side JS execution prevents misuse of browser-only libraries like jQuery. This clear warning should help developers troubleshoot environment-specific issues.
12-13
: Enhanced Component Initialization Guidance:
The update now instructs using a Render-Function in the top-level React component for sharing props across client- and server-side code. This guidance enhances clarity regarding component initialization.
19-20
: Improved Troubleshooting Steps:
The updated steps—first disabling server rendering and then enabling trace viaconfig.trace
—provide a systematic approach to isolating and diagnosing server rendering issues.🧰 Tools
🪛 LanguageTool
[uncategorized] ~19-~19: Possible missing comma found.
Context: ...## Troubleshooting Server Rendering 1. First make sure your code works with server r...(AI_HYDRA_LEO_MISSING_COMMA)
24-24
: Mandatory CSS Extraction:
Stating that server bundles must always have CSS extracted underscores an important deployment requirement, ensuring that CSS is handled appropriately in production.
28-28
: Polyfill Clarification for Timer Methods:
Clarifying that methods likesetTimeout
are polyfilled (and effectively become no-ops) in the server context—with trace logging—is valuable information for debugging server-side behavior.
30-30
: Example for Timeout Call Logging:
The provided example clearly demonstrates wheresetTimeout
is being invoked during server rendering, which should assist developers in pinpointing any related issues.PROJECTS.md (3)
32-32
: New Apprentus Project Entry:
The addition of the Apprentus entry—with its descriptive note on using React on Rails from the homepage onward—enhances the overall ecosystem overview.
58-59
: Addition of GitHub Search Link:
Including a GitHub search link for repos usingreact_on_rails
is a useful resource for discovering related projects, even with the caveat about possible false positives.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
60-63
: New Reverse Dependencies Section:
The new section listing reverse dependencies (for both Gems and NPM packages) offers valuable insight into the broader ecosystem and helps users assess adoption.docs/rails/turbolinks.md (9)
7-7
: Turbo Support Addition:
The new bullet clearly states the ability to use Turbo (@hotwired/turbo
) while noting that Turbolinks is becoming obsolete. This update is timely and informative.
28-29
: Clarification of Turbolinks Behavior:
The explanation describing how only HTML (and not JavaScript or stylesheets) is reloaded during Rails HTML controller switches is clearer now. This subtle detail helps developers understand performance implications.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
33-34
: Revised Requirements for Using Turbolinks:
The updated requirements now clearly advise either avoiding React Router or handling its potential conflicts with Turbolinks, and stress using a single JS and CSS file to simplify management.
38-38
: Invitation for Community Feedback:
Requesting that users share their findings on possible conflicts between React Router and Turbolinks invites valuable community insights and underlines real-world troubleshooting.
43-45
: Detailed CSRF and Request Handling Information:
Enhancements in this section now cover how Turbolinks5 modifies request headers and deals with CSRF tokens—as well as noting potential naming conflicts with multiple Webpack bundles. This detail-rich explanation is very helpful.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
66-66
: Turbolinks 5 Support Confirmation:
Stating that Turbolinks 5 is now supported and that React on Rails will automatically select the correct event handlers reassures users about compatibility with newer versions.
81-81
: Async Script Loading Clarification:
The note on how to perform async script loading with Shakapacker 8.2 provides concise and actionable guidance for optimizing asset delivery in production.
87-87
: Workaround for Initial Page Load Issue:
Advising the use ofdefer
instead ofasync
to overcome the absence of theturbolinks:load
event on initial load is an excellent practical tip for developers using older React on Rails versions.
103-107
: React on Rails 15 Update & Warning:
The update clarifying that React on Rails 15 fixes the listener issue—allowing removal of theturbolinks:load
event listener—is very useful. The accompanying warning about not usingforce_load: false
with async scripts, formatted as a clear [!WARNING] block, is both eye-catching and informative.docs/guides/how-react-on-rails-works.md (6)
7-7
: Gitignore Reminder for Build Artifacts:
Emphasizing that generated bundle files should be excluded via.gitignore
is an important reminder to avoid committing large, auto-generated files.
9-9
: Usage ofreact_component
Helper:
Clarifying that Rails views can directly use thereact_component
helper to pass props to React components adds useful context for developers integrating React with Rails.
11-11
: Redux Store Initialization Option:
The note on optionally initializing a Redux store with theredux_store
helper to share state among components is a valuable addition that enhances the flexibility of state management.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...(AMONGST)
31-31
: Automated Bundle Regeneration:
The explanation about the need to regenerate bundles when client code changes—including leveraging Foreman’s watch mode—provides practical insight into maintaining an efficient development workflow.
35-35
: Production Bundle Generation Clarification:
Highlighting thatshakapacker
automatically invokes Webpack during asset precompilation (especially on platforms like Heroku) reassures developers about the reliability of production deployments.
37-37
: Custom Webpack Command Instructions:
The guidance on setting a customconfig.build_production_command
covers advanced use cases for custom builds, enhancing the document’s adaptability for diverse deployment scenarios.CHANGELOG.md (2)
205-205
: Clarify FS-Based Packs Generation Fix
The changelog now states that packs generation is triggered on creating a new React component insidecomponents_subdirectory
. This description is clear; however, please verify that any edge cases (for example, multiple components in one folder) are also covered by this new logic.
[suggest_assistance]
305-305
: Revised Logic for Production Command Detection
The revised wording on checking whetherconfig.build_production_command
is defined is clear. Please ensure that this change has been tested with projects that use custom production commands as well as the default rails/webpacker config.docs/api/view-helpers-api.md (1)
114-119
: React Router Documentation Update
The React Router section now correctly points to https://reactrouter.com/ and explains its usage with server-side rendering and code splitting. The updated link and phrasing are clear.docs/release-notes/15.0.0.md (3)
31-33
: Clarification onforce_load
Behavior
The entry now explains that theforce_load
configuration makes React on Rails hydrate components immediately once the server-rendered HTML reaches the client. This is clear; please ensure that users understand that this may change the timing of hydration relative to previous behavior.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
37-41
: AsyncreactOnRailsPageLoaded()
Update with Code Examples
The updated release notes now feature before/after code examples for the new async nature ofReactOnRails.reactOnRailsPageLoaded()
. This is excellent for clarity. Please double-check that the code snippet formatting is rendered correctly in the documentation and that the instructions about awaiting the promise are prominently visible.
51-52
: Turbolinks Listener Guidance
The note advising that if you callreactOnRailsPageLoaded()
in aturbolinks:load
listener then the listener can be removed is clear and practical.CONTRIBUTING.md (3)
7-7
: New Prerequisites Section Improves Clarity
The new "Prerequisites" heading at the top now better frames the required setup steps. This is a welcome improvement to guide new contributors.
22-23
: IDE/Editor Configuration Tip
The guidance about ignoring certain directories (e.g./coverage
,/node_modules
, etc.) is very helpful to prevent performance issues. This tip is clear and actionable.
119-119
: Local Node Package Note
The clarification that the example and dummy apps will use your localnode_packages
folder is useful. The change helps avoid confusion when testing local NPM changes.
c7e47f2
to
74981b0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (35)
docs/rails/turbolinks.md (6)
16-16
: Address the Pending TODO
The placeholder “TODO: Walk through code changes in PR 1620.” remains in the document. Please consider either expanding on the walkthrough details or removing the TODO if it is no longer applicable.
28-29
: Refine the Performance Explanation
The explanation in these lines could be rephrased for improved clarity. For example, consider wording such as: "This can definitely enhance performance—even when JavaScript and stylesheets are cached by the browser, parsing still occurs." This addresses the static analysis note regarding word order.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
43-43
: Enhance CSRF Tokens Description
The sentence in this line would benefit from a comma before “and” to separate independent clauses. Additionally, rephrasing for clarity might help make the intended meaning more explicit.🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...(COMMA_COMPOUND_SENTENCE)
44-44
: Clarify Request Header Behavior
Consider rewording this sentence to more clearly state that Turbolinks5 sends requests with anAccept: text/html
header (instead ofAccept: */*
), and explain how this change affects Rails’ MIME-type handling.
103-103
: Minor Punctuation Enhancement
Adding a comma after “removed” would improve the readability of this sentence. For example:
"React on Rails 15 fixes both issues, so if you still have the listener, it can be removed (and should be asreactOnRailsPageLoaded()
is now async)."🧰 Tools
🪛 LanguageTool
[uncategorized] ~103-~103: Possible missing comma found.
Context: ... listener it can be removed (and should be asreactOnRailsPageLoaded()
is now as...(AI_HYDRA_LEO_MISSING_COMMA)
156-156
: Improve Image Alt Text for Accessibility
Consider revising the image alt text to be more descriptive. For example, use: "Illustration showing that Turbolinks handlers are installed only once" to improve accessibility.docs/guides/how-to-use-different-files-for-client-and-server-rendering.md (1)
7-7
: Improve Punctuation for Clarity.
The updated sentence capitalizes “React Router” correctly and explains the concept, but a comma after “client and server rendering” might improve readability (as suggested by static analysis).🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/code-splitting.md (2)
27-27
: Clarification on Renderer Registration.
The expanded description on waiting for code chunk fetches and registering a renderer is very informative. Consider breaking up the long sentence for improved readability.
137-137
: Useful Caveat on Server-Side Code Splitting.
This addition effectively warns developers that server-rendered bundles should remain singular and may require separate route definitions and Webpack configurations. A slight rephrasing for added clarity might be beneficial.docs/javascript/react-helmet.md (1)
91-93
: Clarification onreact_component_hash
Behavior.
The update clearly states that calling the helper returns a hash instead of an HTML string and notes that using “prerender” isn’t applicable here. A minor rephrasing for conciseness could be considered.🧰 Tools
🪛 LanguageTool
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...(HAVE_TWITTER)
docs/guides/rspec-configuration.md (2)
7-7
: Clarification on Compiling Webpack Assets.
The revised explanation describing how to run the Webpack configuration from files in/config/webpack
is clear. Consider reducing the repetition of “your Webpack configuration” for brevity.
30-30
: Detailed RSpec Helper Instructions.
The guidance on callingReactOnRails::TestHelper.configure_rspec_to_compile_assets
is thorough. Splitting the long sentence into shorter parts could further enhance clarity.🧰 Tools
🪛 LanguageTool
[style] ~30-~30: This phrase is redundant. Consider using “inside”.
Context: ..._compile_assets. Call this method from inside of the
RSpec.configureblock in your
sp...(OUTSIDE_OF)
docs/guides/tutorial.md (1)
63-63
: Version Check Clarification.
The revision advising users to runrails -v
and verify that they’re using Rails 5.1.3 or above is clear. Consider using “ensure” instead of “check” to strengthen the directive.🧰 Tools
🪛 LanguageTool
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...(REP_NEED_TO_VB)
docs/additional-details/generator-details.md (1)
46-46
: Nitpick: Consider Adding a Comma for Clarity.
The line
Inside the generated "HelloWorld" domain you will find the following folders:
could be slightly improved by inserting a comma after “domain” (i.e.,
Inside the generated "HelloWorld" domain, you will find the following folders:
)
to enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/webpack-v1-notes.md (1)
11-11
: Suggestion: Rephrase for Variety.
The sentence starting with
You should ensure you configure the entry points correctly for Webpack if you want to break out libraries into a "vendor" bundle...
feels a bit repetitive given similar phrasing nearby. Consider rewording it to add variety and keep the reader engaged.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...(REP_WANT_TO_VB)
docs/deployment/elastic-beanstalk.md (1)
45-45
: Grammar Nitpick: Missing Article.
In the sentence “...it creates/home/webapp
directory, allowing the precompile task to create temporary files,” consider adding an article for grammatical correctness. For example, change it to “...it creates a/home/webapp
directory, allowing the precompile task to create temporary files.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...sassets:precompile
. Also, it creates/home/webapp
directory, allowing the pr...(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/how-react-on-rails-works.md (1)
11-11
: Language Suggestion: Modernize Preposition.
In the sentence “Optionally, you can also initialize a Redux store with the view or controller helperredux_store
so that the Redux store can be shared amongst multiple React components,” consider replacing “amongst” with “among” for a more modern usage.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...(AMONGST)
docs/outdated/rails-assets.md (2)
8-9
: Improve punctuation in quoted text
In the block quote describing the MD5 hash, consider inserting a comma after “contents” to read “the MD5 hash of the file’s contents, with the original extension…” This improves the natural pause and clarity.Proposed change:
- the MD5 hash of the file's contents with + the MD5 hash of the file's contents, with🧰 Tools
🪛 LanguageTool
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...(AI_HYDRA_LEO_MISSING_COMMA)
31-32
: Clarify the “double-digesting” sentence
The sentence starting with “just one level of ‘digesting’, this ‘double-digesting’ from Rails…” is a bit hard to follow. Consider breaking it into two sentences. For example, replacing the comma with a period would read:
“…expects just one level of ‘digesting’. This ‘double-digesting’ from Rails will cause such assets to fail to load.”Proposed change:
- ...expects just one level of "digesting", this "double-digesting" from Rails will cause such assets + ...expects just one level of "digesting". This "double-digesting" from Rails will cause such assetsdocs/additional-details/migrating-from-react-rails.md (2)
11-11
: Improve grammar in installation instructions
In step 2, the install command description says “…creates sample React component, Rails view/controller, and updatesconfig/routes.rb
.” To make the sentence grammatically smoother, consider inserting the article “a” before “sample React component.”Proposed change:
- creates sample React component, Rails view/controller, and updates `config/routes.rb` + creates a sample React component, Rails view/controller, and updates `config/routes.rb`🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: Possible missing article found.
Context: ...alls node dependencies and also creates sample React component, Rails view/controller,...(AI_HYDRA_LEO_MISSING_A)
15-16
: Revisit list item clarity
The instructions under “3. Adapt the project” mention checking the Webpack config files. Please double–check that the phrasing “…notice the different names for the server bundle entry file” fully explains the implications for downstream configuration.docs/outdated/rails-assets-relative-paths.md (2)
29-29
: Tone adjustment for emphasis
In the note at line 29, the text “EXTREMELY similar” might be softened to “extremely similar” (using lowercase) to avoid over–emphasis.Proposed change:
- ...and in fact work together to accomplish their goals, with a very slight difference. + ...and in fact work together to accomplish their goals, with an extremely slight difference.🧰 Tools
🪛 LanguageTool
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...(AI_EN_LECTOR_MISSING_DETERMINER_A)
51-51
: Rephrase for concision
The summary note “Both examples above do the exact same thing, just using different syntaxes.” may be rephrased for clarity. For example, “Both examples produce the same result using different syntaxes.”Proposed change:
- Both examples above do the exact same thing, just using different syntaxes. + Both examples above produce the same result using different syntaxes.🧰 Tools
🪛 LanguageTool
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...(EN_WORDINESS_PREMIUM_EXACT_SAME)
CHANGELOG.md (2)
57-60
: Consistent language in changelog entries
The changelog entry at lines 57–60 regarding the separation of streamServerRenderedReactComponent is now more precise. Consider rephrasing slightly for flow. For example: “Separated streamServerRenderedReactComponent from the ReactOnRails object to prevent errors during Webpack compilation about missing thestream-browserify
package.”Proposed change:
- Separated streamServerRenderedReactComponent from the ReactOnRails object in order to stop users from getting errors during Webpack compilation about needing the `stream-browserify` package. + Separated streamServerRenderedReactComponent from the ReactOnRails object to prevent errors during Webpack compilation regarding the missing `stream-browserify` package.
1473-1473
: Format bare URLs consistently
There is at least one bare URL in this file. To meet markdown standards and improve readability, please convert any bare URL to an inline link with descriptive text.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
1473-1473: Bare URL used
null(MD034, no-bare-urls)
spec/dummy/README.md (1)
3-3
: Minor stylistic improvement for compound adjectives
In the instruction “Useyalc link
to hook up the spec/dummy/client/node_modules to the top level,” consider hyphenating “top level” as “top-level” since it functions as a compound adjective modifying the location.Proposed change:
- Use `yalc link` to hook up the spec/dummy/client/node_modules to the top level + Use `yalc link` to hook up the spec/dummy/client/node_modules to the top-level🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/contributor-info/linters.md (1)
28-28
: Tone Adjustment on Autofix Encouragement
The sentence “Autofixing is a HUGE time saver!” is engaging; however, consider toning down the excessive exclamation or overemphasis to maintain a more formal documentation tone.🧰 Tools
🪛 LanguageTool
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...(EN_EXCESSIVE_EXCLAMATION)
docs/guides/webpack-configuration.md (1)
31-31
: Punctuation Suggestion for Improved Readability
In the sentence beginning “Until version 9, all React on Rails apps used the/client
directory …”, the static analysis suggests that a comma might be missing. Consider reviewing the sentence for proper punctuation to enhance readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to/
for thenode_modules
location using this value in `config/initializer...(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/rails-webpacker-react-integration-options.md (1)
186-188
: Minor Language Tweak for Webpack Configuration
In the sentence describing the adjustment of the SASS loader’ssourceMapContents
option, consider inserting “the” before “sourceMapContents option” (e.g., “…so that thesourceMapContents
option for the SASS loader isfalse
”). This minor tweak would align the sentence with standard English usage.🧰 Tools
🪛 LanguageTool
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so thatsourceMapContents
option for the SASS l...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/render-functions-and-railscontext.md (1)
71-81
: Detailed explanation for Redux store initialization.
The additions—including multiple block notes—offer a comprehensive explanation on how Redux stores should be initialized and clarify that using a single parameter implies a React function component. Consider verifying that punctuation (e.g. appropriate comma usage before “and”) meets style guidelines.🧰 Tools
🪛 LanguageTool
[uncategorized] ~78-~78: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter,railsContext
, if you do no...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~78-~78: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...(COMMA_COMPOUND_SENTENCE)
🪛 markdownlint-cli2 (0.17.2)
79-79: Blank line inside blockquote
null(MD028, no-blanks-blockquote)
CONTRIBUTING.md (1)
185-186
: Minor rephrasing suggestion for enhanced clarity.
Consider varying the beginnings of successive sentences in this section to improve flow; for example, a slight rewording can avoid repetitive sentence structures.🧰 Tools
🪛 LanguageTool
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart Foreman. If you change the JS code for react-on-rai...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
PROJECTS.md (1)
58-58
: Minor grammatical suggestion for GitHub reference.
A LanguageTool hint suggests that the verb tense may be adjusted when referring to “GitHub” to ensure it is used with a third-person or past-tense verb. Consider rephrasing if it reads awkwardly.🧰 Tools
🪛 LanguageTool
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos usingreact_on_rails
](https...(HE_VERB_AGR)
docs/guides/react-on-rails-overview.md (1)
18-18
: Improve punctuation for clarity in the integration bullet.
The updated bullet point would benefit from a comma after the React Router URL, and “server-side-rendering” could be written as “server-side rendering” for better readability.-1. [Redux](https://redux.js.org/) and [React Router](https://reactrouter.com/) integration including server-side-rendering. +1. [Redux](https://redux.js.org/) and [React Router](https://reactrouter.com/) integration, including server-side rendering.🧰 Tools
🪛 LanguageTool
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...(AI_HYDRA_LEO_MISSING_COMMA)
docs/misc/doctrine.md (2)
15-15
: Refine sentence structure for the hot reloading bullet.
The sentence “This works for both using an Express server to load stubs for the ajax requests, as well as using a live Rails server.” contains a redundant phrase. For improved clarity and grammatical correctness, consider replacing “, as well as” with “ and”.-... to load stubs for the ajax requests, as well as using a live Rails server. +... to load stubs for the ajax requests and using a live Rails server.🧰 Tools
🪛 LanguageTool
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...(BOTH_AS_WELL_AS)
17-17
: Enhance adjective consistency by hyphenating compound modifiers.
In the phrase “great language for client side coding”, “client side” should be hyphenated to “client-side” for consistency with standard compound adjective usage.-... great language for client side coding... +... great language for client-side coding...🧰 Tools
🪛 LanguageTool
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...org/#Constants) is a great language for client side coding, much more so than Ruby due to t...(EN_COMPOUND_ADJECTIVE_INTERNAL)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (79)
.github/workflows/main.yml
(2 hunks)CHANGELOG.md
(16 hunks)CONTRIBUTING.md
(7 hunks)NEWS.md
(4 hunks)PROJECTS.md
(2 hunks)README.md
(2 hunks)SUMMARY.md
(1 hunks)docs/additional-details/generator-details.md
(1 hunks)docs/additional-details/manual-installation-overview.md
(1 hunks)docs/additional-details/migrating-from-react-rails.md
(1 hunks)docs/additional-details/recommended-project-structure.md
(5 hunks)docs/additional-details/updating-dependencies.md
(2 hunks)docs/api/javascript-api.md
(3 hunks)docs/api/redux-store-api.md
(1 hunks)docs/api/view-helpers-api.md
(4 hunks)docs/contributor-info/generator-testing.md
(1 hunks)docs/contributor-info/linters.md
(2 hunks)docs/contributor-info/pull-requests.md
(3 hunks)docs/deployment/elastic-beanstalk.md
(2 hunks)docs/deployment/heroku-deployment.md
(1 hunks)docs/getting-started.md
(3 hunks)docs/guides/client-vs-server-rendering.md
(2 hunks)docs/guides/configuration.md
(6 hunks)docs/guides/file-system-based-automated-bundle-generation.md
(3 hunks)docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
(3 hunks)docs/guides/how-react-on-rails-works.md
(2 hunks)docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
(1 hunks)docs/guides/i18n.md
(1 hunks)docs/guides/installation-into-an-existing-rails-app.md
(1 hunks)docs/guides/rails-webpacker-react-integration-options.md
(2 hunks)docs/guides/react-on-rails-overview.md
(1 hunks)docs/guides/react-server-rendering.md
(1 hunks)docs/guides/render-functions-and-railscontext.md
(9 hunks)docs/guides/rspec-configuration.md
(2 hunks)docs/guides/tutorial.md
(4 hunks)docs/guides/upgrading-react-on-rails.md
(8 hunks)docs/guides/webpack-configuration.md
(2 hunks)docs/home.md
(1 hunks)docs/javascript/angular-js-integration-migration.md
(1 hunks)docs/javascript/capistrano-deployment.md
(1 hunks)docs/javascript/code-splitting.md
(5 hunks)docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
(1 hunks)docs/javascript/foreman-issues.md
(1 hunks)docs/javascript/react-and-redux.md
(1 hunks)docs/javascript/react-helmet.md
(2 hunks)docs/javascript/react-router.md
(5 hunks)docs/javascript/server-rendering-tips.md
(1 hunks)docs/javascript/troubleshooting-when-using-shakapacker.md
(2 hunks)docs/javascript/troubleshooting-when-using-webpacker.md
(1 hunks)docs/javascript/webpack.md
(1 hunks)docs/misc/doctrine.md
(2 hunks)docs/misc/style.md
(0 hunks)docs/misc/tips.md
(1 hunks)docs/outdated/deferred-rendering.md
(2 hunks)docs/outdated/rails-assets-relative-paths.md
(5 hunks)docs/outdated/rails-assets.md
(3 hunks)docs/outdated/webpack-v1-notes.md
(1 hunks)docs/rails/rails-engine-integration.md
(1 hunks)docs/rails/turbolinks.md
(6 hunks)docs/release-notes/15.0.0.md
(2 hunks)lib/generators/USAGE
(1 hunks)lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
(1 hunks)lib/react_on_rails/helper.rb
(1 hunks)lib/tasks/assets.rake
(1 hunks)node_package/src/Authenticity.ts
(1 hunks)node_package/src/ComponentRegistry.ts
(1 hunks)node_package/src/ReactOnRails.client.ts
(4 hunks)node_package/src/StoreRegistry.ts
(1 hunks)node_package/src/context.ts
(1 hunks)node_package/src/handleError.ts
(1 hunks)node_package/src/registerServerComponent/server.ts
(1 hunks)node_package/src/types/index.ts
(3 hunks)spec/dummy/Procfile.dev-static
(1 hunks)spec/dummy/README.md
(1 hunks)spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
(1 hunks)spec/dummy/client/README.md
(2 hunks)spec/dummy/client/app/startup/HelloWorldApp.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.client.jsx
(1 hunks)spec/dummy/client/app/startup/RenderedHtml.server.jsx
(1 hunks)
💤 Files with no reviewable changes (1)
- docs/misc/style.md
🚧 Files skipped from review as they are similar to previous changes (50)
- docs/outdated/deferred-rendering.md
- docs/javascript/react-and-redux.md
- lib/generators/react_on_rails/templates/base/base/app/javascript/bundles/HelloWorld/components/HelloWorldServer.js
- docs/additional-details/updating-dependencies.md
- node_package/src/Authenticity.ts
- spec/dummy/Procfile.dev-static
- spec/dummy/client/app/startup/HelloWorldApp.jsx
- docs/javascript/webpack.md
- docs/javascript/troubleshooting-when-using-webpacker.md
- docs/guides/configuration.md
- node_package/src/context.ts
- NEWS.md
- docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md
- SUMMARY.md
- docs/deployment/heroku-deployment.md
- spec/dummy/app/assets/javascripts/application_non_webpack.js.erb
- spec/dummy/client/app/startup/RenderedHtml.client.jsx
- docs/guides/react-server-rendering.md
- docs/home.md
- lib/tasks/assets.rake
- .github/workflows/main.yml
- lib/generators/USAGE
- docs/additional-details/recommended-project-structure.md
- docs/contributor-info/generator-testing.md
- docs/javascript/foreman-issues.md
- docs/javascript/troubleshooting-when-using-shakapacker.md
- spec/dummy/client/README.md
- docs/javascript/angular-js-integration-migration.md
- node_package/src/StoreRegistry.ts
- docs/api/view-helpers-api.md
- README.md
- node_package/src/ComponentRegistry.ts
- spec/dummy/client/app/startup/RenderedHtml.server.jsx
- docs/javascript/capistrano-deployment.md
- node_package/src/handleError.ts
- docs/guides/file-system-based-automated-bundle-generation.md
- docs/guides/client-vs-server-rendering.md
- docs/guides/installation-into-an-existing-rails-app.md
- docs/additional-details/manual-installation-overview.md
- docs/javascript/react-router.md
- lib/react_on_rails/helper.rb
- docs/misc/tips.md
- docs/api/javascript-api.md
- docs/rails/rails-engine-integration.md
- node_package/src/ReactOnRails.client.ts
- docs/api/redux-store-api.md
- docs/javascript/server-rendering-tips.md
- node_package/src/types/index.ts
- node_package/src/registerServerComponent/server.ts
- docs/contributor-info/pull-requests.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md
745-745: Spaces inside link text
null
(MD039, no-space-in-links)
1099-1099: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5
(MD001, heading-increment)
1473-1473: Bare URL used
null
(MD034, no-bare-urls)
docs/guides/render-functions-and-railscontext.md
79-79: Blank line inside blockquote
null
(MD028, no-blanks-blockquote)
🪛 LanguageTool
CONTRIBUTING.md
[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...figs, then you need to restart Foreman. If you change the JS code for react-on-rai...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
PROJECTS.md
[grammar] ~58-~58: The singular proper name ‘GitHub’ must be used with a third-person or a past tense verb.
Context: ... source marketplace platform. - [GitHub search for repos using react_on_rails
](https...
(HE_VERB_AGR)
docs/additional-details/generator-details.md
[uncategorized] ~46-~46: Possible missing comma found.
Context: ...ns_. Inside the generated "HelloWorld" domain you will find the following folders: -...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/additional-details/migrating-from-react-rails.md
[uncategorized] ~11-~11: Possible missing article found.
Context: ...alls node dependencies and also creates sample React component, Rails view/controller,...
(AI_HYDRA_LEO_MISSING_A)
docs/contributor-info/linters.md
[style] ~28-~28: Using many exclamation marks might seem excessive (in this case: 4 exclamation marks for a text that’s 1721 characters long)
Context: ...``` Autofixing is a HUGE time saver! ## ESLint See the [ESLint](https://es...
(EN_EXCESSIVE_EXCLAMATION)
docs/deployment/elastic-beanstalk.md
[uncategorized] ~45-~45: You might be missing the article “a” here.
Context: ...s assets:precompile
. Also, it creates /home/webapp
directory, allowing the pr...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/getting-started.md
[style] ~100-~100: To form a complete sentence, be sure to include a subject.
Context: ....registermany times. -
@some_props` can be either a hash or JSON string. This i...
(MISSING_IT_THERE)
[uncategorized] ~100-~100: You might be missing the article “a” here.
Context: ...- @some_props
can be either a hash or JSON string. This is an optional argument as...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...cker-dev-server` during development. # Server Side Rendering with the Default shakacode/sh...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and .css
files without reloading. If for some reason the plugin doesn't work, you can revert...
(FOR_WHATEVER_REASON_COMMA)
docs/guides/how-react-on-rails-works.md
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...
(AMONGST)
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md
[uncategorized] ~7-~7: Possible missing comma found.
Context: .... This only works for a top-level entry point such as the entry point for a React Rou...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/i18n.md
[grammar] ~30-~30: Normally, after “try to” a verb is expected.
Context: ... as well. > [!NOTE] > If you try to lint before running tests, and you depend on...
(WANT_TO_NN)
docs/guides/rails-webpacker-react-integration-options.md
[uncategorized] ~186-~186: You might be missing the article “the” here.
Context: ...k configuration for development so that sourceMapContents
option for the SASS l...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
docs/guides/react-on-rails-overview.md
[uncategorized] ~18-~18: Possible missing comma found.
Context: ...React Router](https://reactrouter.com/) integration including server-side-rendering. 1. [In...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/guides/render-functions-and-railscontext.md
[uncategorized] ~8-~8: Loose punctuation mark.
Context: ...t creates a React component: 1. props
: Props that you pass in the view helper ...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~78-~78: You might be missing the article “the” here.
Context: ...tore. Naturally, you do not have to use second parameter, railsContext
, if you do no...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~78-~78: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ably defining a React function component and you will simply return a React Element,...
(COMMA_COMPOUND_SENTENCE)
docs/guides/rspec-configuration.md
[uncategorized] ~25-~25: “where” seems less likely than “were”.
Context: ...pically, your integration/feature specs where js: true
), you will want to ensure yo...
(AI_HYDRA_LEO_CPT_WHERE_WERE)
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...bpack assets, you will get invalid test results as your tests do not use the very lates...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~30-~30: This phrase is redundant. Consider using “inside”.
Context: ..._compile_assets. Call this method from inside of the
RSpec.configureblock in your
sp...
(OUTSIDE_OF)
docs/guides/tutorial.md
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...
(REP_NEED_TO_VB)
docs/guides/upgrading-react-on-rails.md
[uncategorized] ~171-~171: Loose punctuation mark.
Context: ... your client
directory - .gitignore
: add /public/webpack/*
. - Gemfile
: b...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~172-~172: Loose punctuation mark.
Context: ...e: add
/public/webpack/*. -
Gemfile: bump
react_on_railsand add
webpacke...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ... config/initializers/react_on_rails.rb
: - Delete `config.generated_assets_dir...
(UNLIKELY_OPENING_PUNCTUATION)
docs/guides/webpack-configuration.md
[style] ~25-~25: Consider a shorter alternative to avoid wordiness.
Context: ...), you will see this pattern in action. In order to customize the Webpack configuration, co...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...e default to /
for the node_modules
location using this value in `config/initializer...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/javascript/code-splitting.md
[style] ~139-~139: Consider using “incapable” to avoid wordiness.
Context: ... server rendering with ExecJS, which is not capable of doing anything asynchronous. It woul...
(NOT_ABLE_PREMIUM)
docs/javascript/react-helmet.md
[grammar] ~93-~93: Did you mean the proper noun or did you want to use it as a verb?
Context: ...rerender" as it would not make sense to use react_component_hash without server rendering...
(HAVE_TWITTER)
docs/misc/doctrine.md
[grammar] ~15-~15: Probable usage error. Use “and” after ‘both’.
Context: .../) to load stubs for the ajax requests, as well as using a live Rails server. Oh yes, ...
(BOTH_AS_WELL_AS)
[uncategorized] ~17-~17: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...org/#Constants) is a great language for client side coding, much more so than Ruby due to t...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/outdated/rails-assets-relative-paths.md
[uncategorized] ~7-~7: A comma might be missing here.
Context: ...t of you know, when you spin up a Rails application all of your asset files that live withi...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~13-~13: Consider using a different adjective in this context to strengthen your wording.
Context: ...hardcoding the path to an asset isn't a good approach considering file paths can alw...
(GOOD_ALTERNATIVE)
[style] ~23-~23: Consider replacing this phrase with the adverb “easily” to avoid wordiness.
Context: ...They allow you to load and access files in an easy manner. Both of these loaders are incredibly s...
(IN_A_X_MANNER)
[style] ~23-~23: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...cessed by their public paths, making it very easy to include and use them in your JavaScr...
(EN_WEAK_ADJECTIVE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...xceeds the byte limit, will delegate to file-loader for loading, passing any set que...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ing any set query parameters as well to file-loader (if that sounds like gibberish r...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ... about it soon!). The benefit of using url-loader first, and falling back on file-...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~27-~27: You might be missing the article “the” here.
Context: ...g url-loader first, and falling back on file-loader, is that the use of Data Urls sa...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[style] ~27-~27: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...need to be made to fetch files. That is very important in regards to how fast a webpage will l...
(EN_WEAK_ADJECTIVE)
[misspelling] ~27-~27: Although “in regards to” is sometimes used in casual speech, it is typically considered a nonstandard phrase.
Context: ... to fetch files. That is very important in regards to how fast a webpage will load. Generally...
(IN_OR_WITH_REGARDS_TO_OF)
[uncategorized] ~29-~29: You might be missing the article “a” here.
Context: ... the rest of this doc, we will be using file-loader. This is because its usage can b...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[style] ~51-~51: ‘exact same’ might be wordy. Consider a shorter alternative.
Context: ...t]', }, ``` Both examples above do the exact same thing, just using different syntaxes. F...
(EN_WORDINESS_PREMIUM_EXACT_SAME)
[grammar] ~75-~75: “React” is a proper noun and needs to be capitalized.
Context: ...ry is already ignored by git due to the react_on_rails generated gitignore, meaning t...
(A_GOOGLE)
[uncategorized] ~108-~108: A comma might be missing here.
Context: .../>; } } ``` myImage
in the example above will resolve to the path of that asset ...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~108-~108: A comma may be missing after the conjunctive/linking adverb ‘Therefore’.
Context: ...e path of that asset on the web server. Therefore using it as an img's source would then ...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/outdated/rails-assets.md
[uncategorized] ~8-~8: Possible missing comma found.
Context: ...ting file is the MD5 hash of the file's contents with > the original extension of the re...
(AI_HYDRA_LEO_MISSING_COMMA)
[formatting] ~25-~25: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...s compiled by Webpack on the client side, because they don't use image-url
and `asset-u...
(COMMA_BEFORE_BECAUSE)
[uncategorized] ~49-~49: Possible missing comma found.
Context: ...ows how the file names output by Rails. Note the original names after being processe...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/outdated/webpack-v1-notes.md
[style] ~11-~11: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...try points correctly for Webpack if you want to break out libraries into a "vendor" bun...
(REP_WANT_TO_VB)
docs/rails/turbolinks.md
[uncategorized] ~29-~29: These words/punctuation marks might seem a little out of order. For clarity and coherence, try switching them around.
Context: ...reload JavaScript and stylesheets. This definitely can make an app perform better, even if the...
(AI_EN_LECTOR_REPLACEMENT_WORD_ORDER)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e there is a CSRF helper in ReactOnRails and it needs to work with Turbolinks5. - Tu...
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~103-~103: Possible missing comma found.
Context: ... listener it can be removed (and should be as reactOnRailsPageLoaded()
is now as...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/release-notes/15.0.0.md
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
spec/dummy/README.md
[uncategorized] ~3-~3: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...e spec/dummy/client/node_modules to the top level - Be sure to install Yarn dependencies ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
⏰ Context from checks skipped due to timeout of 90000ms (4)
- GitHub Check: examples (newest)
- GitHub Check: build (oldest)
- GitHub Check: rspec-package-tests (oldest)
- GitHub Check: rspec-package-tests (newest)
🔇 Additional comments (77)
docs/rails/turbolinks.md (6)
7-7
: Improve Turbo Reference Clarity
The updated bullet now correctly refers to Turbo with a proper link and uses the grammatically improved phrase “as Turbolinks becomes obsolete.”
66-66
: Confirm Turbolinks 5 Support Update
The statement clearly indicates that React on Rails now supports Turbolinks 5 by auto-detecting the version and using the proper event handlers.
81-81
: Clear Async Script Loading Explanation
The introduction to async script loading (with reference to Shakapacker 8.2) is succinct and clear.
87-87
: Clarify the Workaround for Initial Page Load Issue
The workaround description for the missing initial firing ofturbolinks:load
(usingdefer
instead ofasync
) is clear and helpful.
105-107
: Effective Warning Message Presentation
The warning regarding the use offorce_load: false
with Turbolinks is clear and well-formatted.
154-154
: Clear Recommendation on jQuery Usage
The guidance to use the JS packages instead of the RubyGem versions of jQuery and jQuery ujs is clear and informative.docs/javascript/code-splitting.md (8)
9-9
: Clear Introduction Added.
The new question “What is code splitting?” immediately followed by the Webpack documentation excerpt helps set the context very effectively.
23-23
: Enhanced Explanation for Markup Differences.
This change provides a detailed explanation on how client and server renderings differ when code chunks are fetched asynchronously. The explanation is comprehensive and aids understanding.
114-114
: Detailing Asynchronous Behavior.
The updated text clearly explains thatmatch
from React Router works asynchronously to ensure the first render matches the server output.
141-141
: Clear Guidance on Renderer Registration Placement.
The reminder not to register a renderer function on the server (to avoid runtime errors) is very clear and valuable.
145-145
: Highlighting Critical Webpack Configuration.
The instruction to add the specified configuration to the Webpack output key is concise and crucial for proper asset handling.
155-155
: Thorough Explanation of Asset Resolution.
The details on how setting the public path affects code chunk requests are both clear and informative, ensuring users understand how Rails finds the Webpack bundles.
157-157
: Helpful Documentation Reference.
Adding the link to the Rails assets documentation is a nice touch that offers further context to readers.
159-159
: Clear Warning on Public Path Misconfiguration.
This segment effectively warns about the consequences (i.e. 404 errors) of not setting the public path, which is very helpful for troubleshooting.docs/javascript/react-helmet.md (1)
107-109
: Updated Example for Title Insertion.
The code snippet now cleanly demonstrates how to yield the title content usingcontent_for
, which enhances clarity for server-rendered HTML integration.docs/guides/rspec-configuration.md (7)
5-5
: Clear Heading on Shakapacker Default Setup.
The new heading immediately informs the reader that the following instructions assume the default Shakapacker configuration.
9-11
: Clear Description for Shakapacker’s Compile Option.
The detailed guidance on settingcompile: true
inconfig/shakapacker.yml
and ensuring thesource_path
is correct provides essential information for avoiding build issues.
12-12
: Guidance on Using React on Rails Helpers.
The instructions for using the settings inconfig/initializers/react_on_rails.rb
are concise and include a useful external reference.
20-20
: Succinct Decision Guidance.
This advisory helps users decide which configuration approach to follow based on their current setup, simplifying the decision process.
25-25
: Important Warning About Stale Assets.
The addition clearly explains the risks of using stale Webpack assets in tests, which is critical for maintaining valid test results.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: “where” seems less likely than “were”.
Context: ...pically, your integration/feature specs wherejs: true
), you will want to ensure yo...(AI_HYDRA_LEO_CPT_WHERE_WERE)
[uncategorized] ~25-~25: Possible missing comma found.
Context: ...bpack assets, you will get invalid test results as your tests do not use the very lates...(AI_HYDRA_LEO_MISSING_COMMA)
27-28
: Minor Clarification on Configuration Location.
Specifying the standard location for the Webpack configuration helps reduce potential misconfigurations.
37-37
: Comprehensive Explanation on Metatags Usage.
This update provides a clear overview of how metatags can be used to fine-tune asset compilation within tests, which is very helpful.docs/guides/tutorial.md (7)
116-116
: Optional Redux Installation Clarification.
The brief line clarifying that Redux installation is optional is useful—especially now that React Hooks are the default.
175-175
: Database Requirement for Heroku.
This change clearly informs users that Heroku mandates Postgresql usage, which is essential for successful deployment.
218-218
: Local Postgres Setup Instruction.
The added line guiding users to set up Postgres for local development enhances the overall deployment documentation.
342-344
: Clear Instructions for Directory Restructuring.
The command to move theapp/javascript
directory toclient
is clearly presented and aligns well with the recommended project structure.
348-350
: Updated Shakapacker Source Path.
Changing thesource_path
to “client” in the Shakapacker configuration is a necessary update that now reflects the new project layout accurately.
373-373
: Updated Procfile.dev for Custom IP and PORT.
The revised Procfile.dev snippet is helpful for users working in environments (like Cloud9) that require custom IP and PORT settings.
1-390
: Enhanced Consistency and Readability.
Across the tutorial, the capitalization corrections (e.g. “Webpacker” and “Redux”) and grammatical refinements (such as correcting “setup” to “set up”) greatly improve clarity and professionalism.🧰 Tools
🪛 LanguageTool
[uncategorized] ~55-~55: The official spelling of this programming framework is “Node.js”.
Context: ...ls:** We support Rails 6 and later. - Nodejs: We support all [active Node versions...(NODE_JS)
[uncategorized] ~55-~55: The official spelling of this programming framework is “Node.js”.
Context: ...commend using the latest LTS release of Nodejs for the longest support. Older inactive...(NODE_JS)
[style] ~63-~63: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...using an older version of Rails, you'll need to install Webpacker with React per the in...(REP_NEED_TO_VB)
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...t-react-on-rails ``` Note: You can use--database=postgresql
option to use Pos...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~148-~148: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...out a special React setup, will cause a full page refresh each time you save a file. # D...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~274-~274: A comma might be missing here.
Context: ...4" }, ``` Then after all changes are done don't forget to commit them with git an...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~288-~288: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...open ``` and you will see your live app and you can share this URL with your friend...(COMMA_COMPOUND_SENTENCE)
[style] ~288-~288: Reusing ‘you’ could be redundant. Try omitting the pronoun.
Context: ...``` and you will see your live app and you can share this URL with your friends. Congr...(SUBJECT_DROP)
[style] ~307-~307: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...e for server rendering. However, if you want to use the same file from the shakapacker-...(REP_WANT_TO_VB)
[uncategorized] ~338-~338: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...ommends that you use/client
for your client side app. This way a non-Rails, front-end de...(EN_COMPOUND_ADJECTIVE_INTERNAL)
🪛 markdownlint-cli2 (0.17.2)
7-7: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
25-25: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
126-126: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
173-173: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
239-239: Fenced code blocks should have a language specified
null(MD040, fenced-code-language)
374-374: Bare URL used
null(MD034, no-bare-urls)
docs/outdated/webpack-v1-notes.md (1)
7-9
: Editorial Update LGTM.
The revised section explaining the--bail
option clearly communicates how it impacts CI and deployment processes.docs/guides/i18n.md (1)
24-28
: Editorial Update LGTM.
The instructions for adjusting startup scripts and configuring CI to runbundle exec rake react_on_rails:locale
are clear and well-structured. These changes improve readability and align well with the overall documentation update objectives.docs/deployment/elastic-beanstalk.md (1)
3-4
: Clarification Update LGTM.
The new content in this section clearly explains the necessity of installing Yarn on each instance for a successful deployment.docs/guides/how-react-on-rails-works.md (1)
1-12
: Overall Documentation Update LGTM.
The capitalization adjustments (e.g., “Git,” “React,” “Webpack”) and clearer instructions throughout this guide enhance overall clarity and consistency. The updates are well aligned with the documentation update objectives.🧰 Tools
🪛 LanguageTool
[style] ~11-~11: The preposition ‘amongst’ is correct, but some people think that it is old-fashioned or literary. A more frequently used alternative is the preposition “among”.
Context: ...` so that the Redux store can be shared amongst multiple React components. ## Client-S...(AMONGST)
docs/outdated/rails-assets.md (1)
39-39
: Verify GitHub issue instruction clarity
The new note “a GitHub issue.” is clear. Just ensure that the message fits with your overall documentation style (the capitalization of “GitHub” is now correct).docs/outdated/rails-assets-relative-paths.md (3)
5-7
: Clear introductory statement
The newly added message in line 5 ("If you're looking to use assets in your React components, look no further. This doc is for you.") is a friendly hook. The tone is welcoming and fits the overall documentation style.🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: A comma might be missing here.
Context: ...t of you know, when you spin up a Rails application all of your asset files that live withi...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
69-69
: Verify outputPath note clarity
The note regarding the outputPath (line 69) is clear and helpful. No changes needed here.
77-77
: Confirm clarity of publicPath explanation
The explanation on setting the publicPath now clearly explains that it should match the served path on your Rails server. This is well written.CHANGELOG.md (1)
1610-1613
: Overall consistency check
The changes across the changelog—especially the standardized use of “Webpack”—are consistent and help modernize the document. Please verify that any new entries follow the same format as the previous ones.spec/dummy/README.md (1)
10-10
: Header wording update noted
Changing “Setup yalc” to “Set up yalc” (as seen on line 10) improves readability. This aligns with our documentation style guidelines.docs/getting-started.md (3)
74-74
: Improved Clarity on Shakapacker Support
The revised sentence now explicitly states that “most apps should rely on the Shakapacker setup for Webpack” and emphasizes support for Webpack version 5 in Shakapacker v6+. This is a clear and consistent improvement in guiding the reader.
98-99
: Refined Explanation for Component Exposure
The modified text now reads, “Exposing your component in this way allows you to reference the component from a Rails view. You can expose as many components as you like, but their names must be unique.” This wording is clearer and offers better guidance regarding naming conventions.
102-105
: Consistent Code Block Presentation
The code snippet provided for the Rails view is maintained with clear formatting. The overall documentation benefits from consistent capitalization (e.g., using “Webpack” uniformly), which improves readability.docs/contributor-info/linters.md (2)
10-11
: Clarified RuboCop Directory Instruction
Changing “probably the top level” to “usually the top level” offers a more assertive guideline. This modification removes ambiguity and helps users know exactly where to run RuboCop.
36-40
: Enhanced ESLint Guidance
The updated instructions for configuring ESLint rules (including referencing the official documentation and explaining rule severity using string equivalents) improve clarity. This makes it easier for contributors to understand the intended configuration approach.docs/guides/webpack-configuration.md (2)
9-11
: Clear Definitions for Shakapacker Features
The revised list items now clearly state that Shakapacker provides view helpers and an abstraction layer on top of Webpack customization. This clarity assists users in understanding the inherent benefits without overwhelming them with extra details.
33-34
: Consistent Reference to Configuration Files
The updated phrasing “You can access values fromconfig/shakapacker.yml
:” is succinct and avoids ambiguity compared to prior wording.docs/release-notes/15.0.0.md (3)
31-35
: Enhanced Grammar and Clarity for Hydration Behavior
The updated description for theforce_load
configuration now reads more clearly (switching from “make” to “makes”) and explains that components hydrate immediately. This correction not only improves grammatical correctness but also clarifies expected behavior.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...hes the client, without waiting for the full page load. - If you want to keep the previ...(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...onentor
stream_react_component. - Redux store now supports
force_load` option,...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~34-~34: You might be missing the article “the” here.
Context: ...omponent. - Redux store now supports
force_loadoption, which defaults to
c...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
37-49
: Correct Async Usage for Hydration Function
The revised async example forReactOnRails.reactOnRailsPageLoaded()
appropriately demonstrates awaiting the promise. This change helps developers avoid race conditions by ensuring that hydration is completed before subsequent code runs.
52-53
: Clear Guidance on Removing Deprecated Listeners
Noting that theturbolinks:load
listener can now be safely removed provides useful direction for developers updating their code.docs/guides/rails-webpacker-react-integration-options.md (2)
11-14
: Improved Table Formatting and Consistency
The changes in the integration options table enhance readability by using clear checkmarks and consistent formatting. This table now serves as a quick reference that aligns with the overall documentation style.
203-215
: Alias Configuration for React DOM
The diff that updates the Webpack environment to alias'react-dom'
with'@hot-loader/react-dom'
is correctly applied. This ensures compatibility with React Hot Loader and enhances the development experience.docs/guides/render-functions-and-railscontext.md (11)
5-6
: Capitalization and clarity improvement for render functions.
The updated text standardizes the capitalization of “React components” and “Redux stores,” which enhances readability and maintains proper noun consistency.
13-14
: Improved parameter description for render-function calls.
The revised explanation clearly states that the parameters remain the same for both client- and server-side rendering—except for therailsContext.serverSide
property.
26-27
: Clarification on React function component wrapping.
The note now explicitly instructs to wrap the returned component in a function (to properly support hooks), which is a useful clarification for developers.
41-42
: Clear alternate API explanation.
The updated block note describing the alternative approach usingReact.createElement
is concise and informative.
62-63
: Enhanced server rendering warning note.
The block note now provides a clear warning regarding potential React browser console issues when rendering on the server, which improves guidance.
87-107
: Well-formatted railsContext configuration example.
The code block now reflects up‐to‐date Ruby syntax and clearly documents each key (such asrorPro
andhttpAcceptLanguage
), which aids in understanding the full set of context parameters.
121-124
: Accurate syntax highlighting for ERB view file.
Switching the code block language from “ruby” to “erb” ensures proper syntax highlighting and improves readability in the documentation.
144-144
: Clarified explanation for railsContext usage.
The updated text clearly articulates that if a component is defined without a second parameter, it is implicitly a React function component returning an element; this enhances user understanding.
157-163
: Insightful explanation of JSX spread operator usage.
Differentiating the outer and inner spread syntax in the JSX helps demystify a commonly confusing area of React syntax.
169-169
: Updated Heroku Preboot considerations.
The revised description succinctly explains how Preboot affects deployment speeds and asset compilation, providing useful context for users deploying on Heroku.
193-207
: Updated custom Rails context configuration example.
The Ruby snippet illustrating how to extend therailsContext
via a custom context method is clear and practical, offering developers a solid template for customization.docs/guides/upgrading-react-on-rails.md (4)
29-30
: Clarification on Rails and Webpacker version compatibility.
The added note emphasizes that upgrading to v12 requires a recent version of both Rails and Webpacker, which is clear and informative.
40-42
: Improved internationalization helper guidance.
The updated text now correctly addresses the internationalization helper (fixing “internalization”) and explains the benefits of transitioning to the JSON format.
133-139
: Custom Webpack build file configuration update.
The updated note clarifies that the default value forextract_css
is false and must be set to true in custom builds so that CSS link tags are generated correctly.
243-246
: Configuration renaming clarification.
The documentation now explicitly details the renaming of configuration keys (e.g. fromnpm_build_test_command
tobuild_test_command
) and introduces the newnode_modules_location
setting for clearer setup instructions.CONTRIBUTING.md (5)
7-7
: Added “Prerequisites” section heading.
The new section provides an improved structure by broadening the context beyond just test running, which helps new contributors quickly locate essential setup instructions.
22-23
: Enhanced IDE/editor setup instructions.
The revised text now includes clearer guidelines with improved punctuation to help contributors configure their development environment effectively.
115-116
: Clarified Dev Initial Setup instructions.
Explicitly mentioning the need for Ruby and Node version managers (e.g. rvm, nvm, rbenv, nodenv) provides better guidance for setting up the repository after checkout.
119-121
: Enhanced description for local node package usage.
The updated text makes it clear that the dummy/apps will automatically use the localnode_packages
folder for the React on Rails node package, which is helpful for local development.
121-122
: Clear side note on Webpack alias configuration.
This addition explains the purpose of using the alias section in the Webpack config to prevent duplicate inclusion errors—a practical tip for contributors.docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md (4)
11-11
: Enhanced guidance for React Refresh usage.
The updated reference directs users to the “Client Side rendering and HMR using react-refresh-webpack-plugin” section, making it easier to locate additional details.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...efresh). For use with Webpack, see **Client Side rendering and HMR using react-refresh-w...(EN_COMPOUND_ADJECTIVE_INTERNAL)
75-75
: Consistent formatting in plugin section comment.
Adding a space in the comment (// plugins
) improves the readability and consistency of the code documentation.
101-101
: Improved hot reloading behavior description.
The revised sentence now clearly states that changes in both.js
and.css
files are reflected without a full page reload, which is more precise.
103-103
: Clarified fallback instructions for plugin issues.
The new text provides guidance about reverting to a configuration that leaves only devServer’shmr
/inline
enabled if the plugin fails, which is helpful for troubleshooting.🧰 Tools
🪛 LanguageTool
[typographical] ~103-~103: Consider wrapping this idiom with two commas if you want to put a strong emphasize on it.
Context: ... and.css
files without reloading. If for some reason the plugin doesn't work, you can revert...(FOR_WHATEVER_REASON_COMMA)
PROJECTS.md (2)
32-33
: Updated project entry for Apprentus.
The capitalization of “React on Rails” in the Apprentus entry now aligns with the project’s naming standards and improves the overall presentation.
60-64
: New Reverse dependencies section added.
Introducing links for reverse dependencies (both for Gems and NPM packages) provides valuable additional resources for users assessing the ecosystem around React on Rails.
Summary
Follow-up to #1686 to avoid conflicts.
Pull Request checklist
This change is
Summary by CodeRabbit
Documentation
Style