Skip to content
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

fix(core): named exports and client directive #2758

Merged
merged 2 commits into from Apr 17, 2024
Merged

fix(core): named exports and client directive #2758

merged 2 commits into from Apr 17, 2024

Conversation

jrgarciadev
Copy link
Member

@jrgarciadev jrgarciadev commented Apr 17, 2024

Closes #2735

📝 Description

Add a brief description

⛳️ Current behavior (updates)

Please describe the current behavior that you are modifying

🚀 New behavior

Please describe the behavior or changes this PR adds

💣 Is this a breaking change (Yes/No):

📝 Additional Information

Summary by CodeRabbit

  • Refactor

    • Improved the organization and clarity of exports in system and utility modules for better accessibility and maintainability.
  • New Features

    • Introduced new build configurations for the tsup tool, enhancing the build process with updated targets and output settings.
  • Chores

    • Updated code comments and added JavaScript banners for compliance and clarity in usage.

Copy link

changeset-bot bot commented Apr 17, 2024

🦋 Changeset detected

Latest commit: cb79a04

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 48 packages
Name Type
@nextui-org/react Patch
@nextui-org/system Patch
@nextui-org/system-rsc Patch
@nextui-org/react-rsc-utils Patch
@nextui-org/accordion Patch
@nextui-org/autocomplete Patch
@nextui-org/avatar Patch
@nextui-org/breadcrumbs Patch
@nextui-org/button Patch
@nextui-org/calendar Patch
@nextui-org/card Patch
@nextui-org/checkbox Patch
@nextui-org/chip Patch
@nextui-org/date-input Patch
@nextui-org/date-picker Patch
@nextui-org/dropdown Patch
@nextui-org/image Patch
@nextui-org/input Patch
@nextui-org/link Patch
@nextui-org/listbox Patch
@nextui-org/menu Patch
@nextui-org/modal Patch
@nextui-org/navbar Patch
@nextui-org/pagination Patch
@nextui-org/popover Patch
@nextui-org/progress Patch
@nextui-org/radio Patch
@nextui-org/ripple Patch
@nextui-org/scroll-shadow Patch
@nextui-org/select Patch
@nextui-org/slider Patch
@nextui-org/snippet Patch
@nextui-org/switch Patch
@nextui-org/table Patch
@nextui-org/tabs Patch
@nextui-org/tooltip Patch
@nextui-org/user Patch
@nextui-org/aria-utils Patch
@nextui-org/framer-utils Patch
@nextui-org/badge Patch
@nextui-org/code Patch
@nextui-org/divider Patch
@nextui-org/kbd Patch
@nextui-org/skeleton Patch
@nextui-org/spacer Patch
@nextui-org/spinner Patch
@nextui-org/react-utils Patch
@nextui-org/use-real-shape Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

coderabbitai bot commented Apr 17, 2024

Walkthrough

The recent updates involve modifying configuration settings and restructuring exports across several packages. Changes include adding JavaScript banners, reorganizing exports for clarity, and updating comments. These adjustments aim to enhance module accessibility and maintain compatibility with build tools and environments.

Changes

File Path Change Summary
.packages/core/react/src/... Updated a development directive comment.
.packages/core/react/tsup.config.ts Added a banner with "use client";.
.packages/core/system-rsc/src/... Restructured exports for clearer access to types and functions.
.packages/core/system/tsup.config.ts Introduced tsup configuration with various build settings and a banner.
.packages/utilities/react-rsc-utils/src/... Modified exports to be more explicit and organized.

Assessment against linked issues

Objective Addressed Explanation
#2735: Fix export issue
#2735: Ensure Spinner works with SSR The changes address the export issue, but it's unclear if this resolves the SSR compatibility.

The assessment indicates that the export issue reported in #2735 has been addressed by restructuring exports to named exports instead of using "export *". However, it's still uncertain if these changes alone ensure that the Spinner component works correctly with server-side rendering (SSR) without further testing or confirmation.


Recent Review Details

Configuration used: .coderabbit.yaml

Commits Files that changed from the base of the PR and between 158c2aa and cb79a04.
Files selected for processing (6)
  • .changeset/clean-olives-cross.md (1 hunks)
  • packages/core/react/src/index.ts (1 hunks)
  • packages/core/react/tsup.config.ts (1 hunks)
  • packages/core/system-rsc/src/index.ts (1 hunks)
  • packages/core/system/tsup.config.ts (1 hunks)
  • packages/utilities/react-rsc-utils/src/index.ts (1 hunks)
Files skipped from review due to trivial changes (1)
  • packages/core/react/src/index.ts
Additional comments not posted (5)
packages/core/system/tsup.config.ts (1)

3-8: The configuration settings for tsup are well-defined and appropriate for modern JavaScript development. The inclusion of the "use client"; banner is particularly notable as it specifies client-side execution context, which is crucial for compatibility with certain environments like NextJS.

packages/core/react/tsup.config.ts (1)

8-8: The addition of the "use client"; banner in the React package's tsup configuration is consistent with the changes in the system package. This ensures uniformity across builds and clarifies the client-side usage intent, which is essential for frameworks like NextJS.

packages/utilities/react-rsc-utils/src/index.ts (1)

1-4: The restructuring to named exports in react-rsc-utils enhances clarity and maintainability. Each export is clearly defined, which improves the modularity and ease of import in consumer applications. This change aligns with modern JavaScript best practices.

.changeset/clean-olives-cross.md (1)

1-8: The changeset documentation clearly outlines the patches applied to various packages and summarizes the key changes, including the named exports and the "use client"; directive. This documentation is essential for tracking changes and understanding the scope of the update.

packages/core/system-rsc/src/index.ts (1)

1-31: The restructuring of exports in system-rsc to named exports is comprehensive and well-organized. The explicit export of types and utility functions enhances the modularity and clarity of the package, making it easier for developers to import only what they need. This change is in line with best practices for maintainability and scalability.


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
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • 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 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 for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

vercel bot commented Apr 17, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
nextui-docs-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 17, 2024 11:47am
nextui-storybook-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 17, 2024 11:47am

@jrgarciadev jrgarciadev changed the title fix(core): named exports instead of * from, use client directive adde… fix(core): named exports and client directive Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] - Spinner in v2.3.0 It's currently unsupported to use "export *" in a client boundary
1 participant