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

refactor(react-query): improve cli utils #1383

Merged
merged 12 commits into from
Dec 7, 2024
Merged

Conversation

gwansikk
Copy link
Collaborator

@gwansikk gwansikk commented Dec 3, 2024

Overview

closed: #1292

  • modified the cli utils function to throw errors.
  • add tests for react-query (100%)
image

PR Checklist

  • I did below actions if need
  1. I read the Contributing Guide
  2. I added documents and tests.

@gwansikk gwansikk self-assigned this Dec 3, 2024
@gwansikk gwansikk linked an issue Dec 3, 2024 that may be closed by this pull request
Copy link

coauthors bot commented Dec 3, 2024

People can be co-author:

Candidate Reasons Count Add this as commit message
@gwansikk #1383 (comment) #1383 (comment) #1383 (review) #1383 4 Co-authored-by: gwansikk <[email protected]>
@codecov-commenter #1383 (comment) 1 Co-authored-by: codecov-commenter <[email protected]>
@manudeli #1383 (review) 1 Co-authored-by: manudeli <[email protected]>

Copy link

changeset-bot bot commented Dec 3, 2024

🦋 Changeset detected

Latest commit: 06aa4c0

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

This PR includes changesets to release 5 packages
Name Type
@suspensive/react-query Patch
@suspensive/react Patch
@suspensive/react-query-4 Patch
@suspensive/react-query-5 Patch
@suspensive/jotai 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

vercel bot commented Dec 3, 2024

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

Name Status Preview Comments Updated (UTC)
suspensive.org ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 7, 2024 11:08am
v1.suspensive.org ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 7, 2024 11:08am
visualization.suspensive.org ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 7, 2024 11:08am

Copy link

github-actions bot commented Dec 3, 2024

Size Change: 0 B

Total Size: 69 kB

ℹ️ View Unchanged
Filename Size
packages/jotai/dist/Atom.cjs 660 B
packages/jotai/dist/Atom.js 115 B
packages/jotai/dist/AtomValue.cjs 647 B
packages/jotai/dist/AtomValue.js 120 B
packages/jotai/dist/index.cjs 755 B
packages/jotai/dist/index.js 158 B
packages/jotai/dist/SetAtom.cjs 645 B
packages/jotai/dist/SetAtom.js 118 B
packages/react-dom/dist/FadeIn.cjs 2.14 kB
packages/react-dom/dist/FadeIn.js 140 B
packages/react-dom/dist/index.cjs 2.36 kB
packages/react-dom/dist/index.js 177 B
packages/react-dom/dist/InView.cjs 2.1 kB
packages/react-dom/dist/InView.js 130 B
packages/react-dom/dist/useFadeIn.cjs 2.04 kB
packages/react-dom/dist/useFadeIn.js 133 B
packages/react-dom/dist/useInView.cjs 1.87 kB
packages/react-dom/dist/useInView.js 120 B
packages/react-native/dist/index.cjs 619 B
packages/react-native/dist/index.js 122 B
packages/react-native/dist/TestText.cjs 612 B
packages/react-native/dist/TestText.js 119 B
packages/react-query-4/dist/index.cjs 1.86 kB
packages/react-query-4/dist/index.js 394 B
packages/react-query-4/dist/infiniteQueryOptions.cjs 548 B
packages/react-query-4/dist/infiniteQueryOptions.js 144 B
packages/react-query-4/dist/Mutation.cjs 821 B
packages/react-query-4/dist/Mutation.js 132 B
packages/react-query-4/dist/PrefetchInfiniteQuery.cjs 722 B
packages/react-query-4/dist/PrefetchInfiniteQuery.js 155 B
packages/react-query-4/dist/PrefetchQuery.cjs 712 B
packages/react-query-4/dist/PrefetchQuery.js 147 B
packages/react-query-4/dist/QueryClientConsumer.cjs 665 B
packages/react-query-4/dist/QueryClientConsumer.js 139 B
packages/react-query-4/dist/QueryErrorBoundary.cjs 1.12 kB
packages/react-query-4/dist/QueryErrorBoundary.js 142 B
packages/react-query-4/dist/queryOptions.cjs 540 B
packages/react-query-4/dist/queryOptions.js 135 B
packages/react-query-4/dist/SuspenseInfiniteQuery.cjs 1.05 kB
packages/react-query-4/dist/SuspenseInfiniteQuery.js 155 B
packages/react-query-4/dist/SuspenseQueries.cjs 923 B
packages/react-query-4/dist/SuspenseQueries.js 149 B
packages/react-query-4/dist/SuspenseQuery.cjs 1.04 kB
packages/react-query-4/dist/SuspenseQuery.js 147 B
packages/react-query-4/dist/usePrefetchInfiniteQuery.cjs 648 B
packages/react-query-4/dist/usePrefetchInfiniteQuery.js 148 B
packages/react-query-4/dist/usePrefetchQuery.cjs 639 B
packages/react-query-4/dist/usePrefetchQuery.js 140 B
packages/react-query-4/dist/useSuspenseInfiniteQuery.cjs 833 B
packages/react-query-4/dist/useSuspenseInfiniteQuery.js 148 B
packages/react-query-4/dist/useSuspenseQueries.cjs 833 B
packages/react-query-4/dist/useSuspenseQueries.js 142 B
packages/react-query-4/dist/useSuspenseQuery.cjs 824 B
packages/react-query-4/dist/useSuspenseQuery.js 140 B
packages/react-query-5/dist/index.cjs 1.76 kB
packages/react-query-5/dist/index.js 391 B
packages/react-query-5/dist/infiniteQueryOptions.cjs 573 B
packages/react-query-5/dist/infiniteQueryOptions.js 144 B
packages/react-query-5/dist/Mutation.cjs 821 B
packages/react-query-5/dist/Mutation.js 132 B
packages/react-query-5/dist/PrefetchInfiniteQuery.cjs 647 B
packages/react-query-5/dist/PrefetchInfiniteQuery.js 145 B
packages/react-query-5/dist/PrefetchQuery.cjs 639 B
packages/react-query-5/dist/PrefetchQuery.js 137 B
packages/react-query-5/dist/QueryClientConsumer.cjs 663 B
packages/react-query-5/dist/QueryClientConsumer.js 140 B
packages/react-query-5/dist/QueryErrorBoundary.cjs 1.12 kB
packages/react-query-5/dist/QueryErrorBoundary.js 142 B
packages/react-query-5/dist/queryOptions.cjs 563 B
packages/react-query-5/dist/queryOptions.js 136 B
packages/react-query-5/dist/SuspenseInfiniteQuery.cjs 833 B
packages/react-query-5/dist/SuspenseInfiniteQuery.js 145 B
packages/react-query-5/dist/SuspenseQueries.cjs 671 B
packages/react-query-5/dist/SuspenseQueries.js 139 B
packages/react-query-5/dist/SuspenseQuery.cjs 825 B
packages/react-query-5/dist/SuspenseQuery.js 137 B
packages/react-query-5/dist/usePrefetchInfiniteQuery.cjs 577 B
packages/react-query-5/dist/usePrefetchInfiniteQuery.js 148 B
packages/react-query-5/dist/usePrefetchQuery.cjs 569 B
packages/react-query-5/dist/usePrefetchQuery.js 140 B
packages/react-query-5/dist/useSuspenseInfiniteQuery.cjs 577 B
packages/react-query-5/dist/useSuspenseInfiniteQuery.js 148 B
packages/react-query-5/dist/useSuspenseQueries.cjs 571 B
packages/react-query-5/dist/useSuspenseQueries.js 142 B
packages/react-query-5/dist/useSuspenseQuery.cjs 569 B
packages/react-query-5/dist/useSuspenseQuery.js 140 B
packages/react-query/dist/index.cjs 551 B
packages/react-query/dist/index.js 121 B
packages/react-query/dist/v4.cjs 550 B
packages/react-query/dist/v4.js 116 B
packages/react-query/dist/v5.cjs 550 B
packages/react-query/dist/v5.js 116 B
packages/react/dist/ClientOnly.cjs 734 B
packages/react/dist/ClientOnly.js 141 B
packages/react/dist/DefaultProps.cjs 1.05 kB
packages/react/dist/DefaultProps.js 167 B
packages/react/dist/Delay.cjs 1.23 kB
packages/react/dist/Delay.js 159 B
packages/react/dist/DevMode.cjs 530 B
packages/react/dist/DevMode.js 131 B
packages/react/dist/ErrorBoundary.cjs 2.74 kB
packages/react/dist/ErrorBoundary.js 205 B
packages/react/dist/ErrorBoundaryGroup.cjs 1.38 kB
packages/react/dist/ErrorBoundaryGroup.js 195 B
packages/react/dist/index.cjs 4.32 kB
packages/react/dist/index.js 368 B
packages/react/dist/Suspense.cjs 1.29 kB
packages/react/dist/Suspense.js 171 B
packages/react/dist/Suspensive.cjs 1.26 kB
packages/react/dist/Suspensive.js 175 B
packages/react/dist/wrap.cjs 3.78 kB
packages/react/dist/wrap.js 209 B

compressed-size-action

Copy link

codspeed-hq bot commented Dec 3, 2024

CodSpeed Performance Report

Merging #1383 will create unknown performance changes

Comparing react-query/feature/tests (0001cfa) with main (9708917)

Summary

⚠️ No benchmarks were detected in both the base of the PR and the PR.\

@codecov-commenter
Copy link

codecov-commenter commented Dec 3, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 75.81%. Comparing base (5640309) to head (06aa4c0).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1383      +/-   ##
==========================================
+ Coverage   73.86%   75.81%   +1.95%     
==========================================
  Files          69       69              
  Lines         593      583      -10     
  Branches      134      128       -6     
==========================================
+ Hits          438      442       +4     
+ Misses        144      130      -14     
  Partials       11       11              
Components Coverage Δ
@suspensive/react 100.00% <ø> (ø)
@suspensive/react-dom 95.55% <ø> (ø)
@suspensive/react-native 100.00% <ø> (ø)
@suspensive/react-query 93.16% <100.00%> (+10.48%) ⬆️
@suspensive/react-query-4 0.00% <ø> (ø)
@suspensive/react-query-5 0.00% <ø> (ø)
@suspensive/jotai 0.00% <ø> (ø)
@suspensive/codemods 41.97% <ø> (ø)

@gwansikk gwansikk changed the title refactor(react-query): improve cli refactor(react-query): improve cli utils Dec 3, 2024
@@ -10,7 +10,7 @@ export function copy(version: number) {
return false
}

files.forEach((file) => {
for (const file of files) {
Copy link
Collaborator Author

@gwansikk gwansikk Dec 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may not have a significant impact on our project, but I agree with the intent and would like to follow it.

ref: https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-for-each.md

Comment on lines 6 to 12
try {
// eslint-disable-next-line @typescript-eslint/no-require-imports
return { exports: require(name) as T, isSuccess: true }
return require(name) as T
} catch {
return { exports: undefined, isSuccess: false }
throw new Error(`${name} is not found.`)
}
}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously, loadModule did not throw errors directly but instead followed a structure where the CLI (node) would terminate at the point where the function was used. However, this approach made testing difficult, as mocking require in Node.js is not possible. For this reason, we decided to modify the utils function to throw errors directly, as it allows for more reliable testing.

P.S. Once this PR is merged, I plan to implement a global error handler for the CLI and custom error classes in the next version.

ref: https://github.com/tj/commander.js?tab=readme-ov-file#override-exit-and-output-handling

Copy link
Member

@manudeli manudeli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for late review! Thanks👍

@manudeli manudeli merged commit 2c06c84 into main Dec 7, 2024
16 checks passed
@manudeli manudeli deleted the react-query/feature/tests branch December 7, 2024 11:08
@manudeli manudeli mentioned this pull request Dec 7, 2024
manudeli added a commit that referenced this pull request Dec 7, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @suspensive/[email protected]

### Patch Changes

- [#1383](#1383)
[`2c06c84`](2c06c84)
Thanks [@gwansikk](https://github.com/gwansikk)! -
refactor(react-query): improve cli utils

-   Updated dependencies \[]:
    -   @suspensive/[email protected]
    -   @suspensive/[email protected]
    -   @suspensive/[email protected]

## @suspensive/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @suspensive/[email protected]

## @suspensive/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @suspensive/[email protected]

## @suspensive/[email protected]



## @suspensive/[email protected]
manudeli added a commit that referenced this pull request Dec 11, 2024
# Overview

related:
#1383 (comment)

- add error handler in commander.js
- add logger utils (for consistency)

ref:
https://github.com/tj/commander.js?tab=readme-ov-file#override-exit-and-output-handling

## PR Checklist

- [x] I did below actions if need

1. I read the [Contributing
Guide](https://github.com/toss/suspensive/blob/main/CONTRIBUTING.md)
2. I added documents and tests.

---------

Co-authored-by: Jonghyeon Ko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: test coverage 100% for @suspensive/react-query
3 participants