shakacode / react_on_rails

Integration of React + Webpack + Rails + rails/webpacker including server-side rendering of React, enabling a better developer experience and faster client performance.
https://www.shakacode.com/react-on-rails/docs/
MIT License
5.09k stars 628 forks source link

Make pack generation import statement commitable #1610

Closed Judahmeek closed 4 months ago

Judahmeek commented 5 months ago

Will resolve #1609

Summary

This PR clarifies what sort of files are generated by ReactOnRails' pack generation & that pack generation users can commit the import statement that the pack generator adds to their server bundle entrypoint.

This PR also addresses the possible edge case of users who have removed the import statement from their server bunle entrypoint, but still have the generated files in their local file system.

Pull Request checklist

Remove this line after checking all the items here. If the item is not applicable to the PR, both check it out and wrap it by ~.


This change is Reviewable

Summary by CodeRabbit

alexeyr-ci commented 5 months ago

Reminding about the CHANGELOG step in the PR checklist just in case.

justin808 commented 5 months ago

@Judahmeek let's get a release out for this ASAP.

justin808 commented 5 months ago

@Judahmeek merge if you're confident

coderabbitai[bot] commented 4 months ago

Walkthrough

This update to React on Rails enhances the pack generation process, ensuring the import statement is added to the server bundle entrypoint even when packs already exist. It also includes documentation updates, codebase refinements, and a new dependency addition, improving clarity and functionality across the board.

Changes

File Path Change Summary
CHANGELOG.md, docs/.../file-system-based-automated-bundle-generation.md, spec/dummy/client/app/packs/server-bundle.js Added and clarified import statements for generated packs, updated documentation for file locations and .gitignore.
lib/.../helper.rb, lib/.../packs_generator.rb Modified function order and method names; added function calls related to pack generation.
react_on_rails.gemspec Added sqlite3 version 1.6 as a dependency.
spec/dummy/spec/packs_generator_spec.rb Added a test to ensure import statements are correctly added in the server bundle.

Assessment against linked issues

Objective Addressed Explanation
Ensure react_on_rails:generate_packs adds the import statement to the entry point even if packs exist (#1609)
Prevent duplicate import statements if already present (#1609)

🐰✨ In the lands of code where the bunnies hop, A new update rolls, non-stop. With a tweak and a twist, the packs align, 🌟 Import statements in their prime. Cheers to the devs, with ears so long, In the burrows of Rails, they sing their song. 🎶 🐰✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` 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 as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
justin808 commented 4 months ago

when can I merge and ship, @Judahmeek ?