Skip to content

Commit 017867e

Browse files
authored
feat(react-query): preserve 'use client' directives (#5161)
* chore: preserve 'use client' directive in unbundled builds * fix(react-query): add 'use client' to files missing it * chore: lock version for rollup-plugin-preserve-directives
1 parent fe0ae80 commit 017867e

13 files changed

+25
-0
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"react-dom-17": "npm:react-dom@^17.0.2",
9393
"rimraf": "^3.0.2",
9494
"rollup": "^2.70.2",
95+
"rollup-plugin-preserve-directives": "0.1.0",
9596
"rollup-plugin-size": "^0.2.2",
9697
"rollup-plugin-terser": "^7.0.2",
9798
"rollup-plugin-visualizer": "^5.6.0",

packages/react-query/src/errorBoundaryUtils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import type {
23
DefaultedQueryObserverOptions,
34
Query,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
'use client'
12
import * as ReactDOM from 'react-dom'
23
export const unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates

packages/react-query/src/useBaseQuery.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import * as React from 'react'
23
import { useSyncExternalStore } from './useSyncExternalStore'
34

packages/react-query/src/useInfiniteQuery.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import type {
23
QueryObserver,
34
QueryFunction,

packages/react-query/src/useIsFetching.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import * as React from 'react'
23
import type { QueryKey, QueryFilters } from '@tanstack/query-core'
34
import { notifyManager, parseFilterArgs } from '@tanstack/query-core'

packages/react-query/src/useIsMutating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import * as React from 'react'
23
import { useSyncExternalStore } from './useSyncExternalStore'
34

packages/react-query/src/useMutation.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import * as React from 'react'
23
import { useSyncExternalStore } from './useSyncExternalStore'
34

packages/react-query/src/useQueries.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import * as React from 'react'
23
import { useSyncExternalStore } from './useSyncExternalStore'
34

packages/react-query/src/useQuery.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
import type { QueryFunction, QueryKey } from '@tanstack/query-core'
23
import { parseQueryArgs, QueryObserver } from '@tanstack/query-core'
34
import type {

packages/react-query/src/useSyncExternalStore.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use client'
12
// Temporary workaround due to an issue with react-native uSES - https://github.com/TanStack/query/pull/3601
23
import { useSyncExternalStore as uSES } from 'use-sync-external-store/shim/index.js'
34

pnpm-lock.yaml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rollup.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import replace from '@rollup/plugin-replace'
77
import nodeResolve from '@rollup/plugin-node-resolve'
88
import commonJS from '@rollup/plugin-commonjs'
99
import path from 'path'
10+
import preserveDirectives from 'rollup-plugin-preserve-directives'
1011

1112
type Options = {
1213
input: string | string[]
@@ -285,6 +286,7 @@ function mjs({
285286
commonJS(),
286287
nodeResolve({ extensions: ['.ts', '.tsx', '.native.ts'] }),
287288
forceDevEnv ? forceEnvPlugin('development') : undefined,
289+
preserveDirectives(),
288290
],
289291
}
290292
}
@@ -324,6 +326,7 @@ function esm({
324326
commonJS(),
325327
nodeResolve({ extensions: ['.ts', '.tsx', '.native.ts'] }),
326328
forceDevEnv ? forceEnvPlugin('development') : undefined,
329+
preserveDirectives(),
327330
],
328331
}
329332
}
@@ -375,6 +378,7 @@ function cjs({
375378
preventAssignment: true,
376379
delimiters: ['', ''],
377380
}),
381+
preserveDirectives(),
378382
],
379383
}
380384
}

0 commit comments

Comments
 (0)