Skip to content

Commit

Permalink
Merge branch 'main' into react-await/garbage-collectable
Browse files Browse the repository at this point in the history
  • Loading branch information
manudeli committed Apr 5, 2024
2 parents 8362235 + 9a2be56 commit 7e22cdc
Show file tree
Hide file tree
Showing 32 changed files with 1,348 additions and 2,102 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
command: ['ci:attw', 'ci:eslint', 'ci:lighthouse', 'ci:publint', 'ci:sherif', 'ci:type', 'test', 'build']
command: ['ci:attw', 'ci:eslint', 'ci:publint', 'ci:sherif', 'ci:type', 'test', 'build']
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/pnpm-setup-node
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,5 @@ esm
# graph
graph/

# lighthouse
.lighthouseci/

# test
tsconfig.vitest-temp.json
12 changes: 0 additions & 12 deletions .lighthouserc.cjs

This file was deleted.

4 changes: 2 additions & 2 deletions configs/eslint-config-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
"ci:eslint": "eslint \"**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts}\""
},
"dependencies": {
"@cspell/eslint-plugin": "^8.6.0",
"@cspell/eslint-plugin": "^8.6.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest-dom": "^5.1.0",
"eslint-plugin-jsdoc": "^48.2.1",
"eslint-plugin-jsdoc": "^48.2.3",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-vitest": "0.3.26"
}
Expand Down
2 changes: 1 addition & 1 deletion configs/eslint-config-ts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsdoc": "^48.2.1",
"eslint-plugin-jsdoc": "^48.2.3",
"eslint-plugin-prettier": "^5.1.3"
}
}
2 changes: 1 addition & 1 deletion configs/eslint-config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"@suspensive/eslint-config-js": "workspace:*",
"@suspensive/eslint-config-ts": "workspace:*",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-react": "^7.34.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0"
}
}
2 changes: 1 addition & 1 deletion configs/test-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"@suspensive/eslint-config": "workspace:*",
"@suspensive/tsconfig": "workspace:*",
"@suspensive/tsup": "workspace:*",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"react": "^18.2.0"
},
"peerDependencies": {
Expand Down
10 changes: 5 additions & 5 deletions docs/suspensive.org/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"start": "next start -p 4000"
},
"dependencies": {
"next": "^14.1.3",
"next": "^14.1.4",
"nextra": "^2.13.4",
"nextra-theme-docs": "^2.13.4",
"react": "^18.2.0",
Expand All @@ -37,10 +37,10 @@
"@next/eslint-plugin-next": "^14.1.3",
"@suspensive/eslint-config": "workspace:*",
"@suspensive/tsconfig": "workspace:*",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"@types/react-dom": "^18.2.22",
"autoprefixer": "^10.4.18",
"postcss": "^8.4.35",
"tailwindcss": "^3.4.1"
"autoprefixer": "^10.4.19",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3"
}
}
18 changes: 9 additions & 9 deletions examples/next-streaming-react-query/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,22 @@
},
"dependencies": {
"@suspensive/react": "workspace:*",
"@tanstack/react-query": "^5.28.4",
"@tanstack/react-query-devtools": "^5.28.4",
"@tanstack/react-query-next-experimental": "^5.28.4",
"axios": "^1.6.5",
"next": "^14.1.3",
"@tanstack/react-query": "^5.28.14",
"@tanstack/react-query-devtools": "^5.28.14",
"@tanstack/react-query-next-experimental": "^5.28.14",
"axios": "^1.6.8",
"next": "^14.1.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.4.1"
"tailwindcss": "^3.4.3"
},
"devDependencies": {
"@next/eslint-plugin-next": "^14.1.3",
"@suspensive/eslint-config": "workspace:*",
"@suspensive/tsconfig": "workspace:*",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"@types/react-dom": "^18.2.22",
"autoprefixer": "^10.4.18",
"postcss": "^8.4.35"
"autoprefixer": "^10.4.19",
"postcss": "^8.4.38"
}
}
20 changes: 9 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,9 @@
"changeset": "changeset",
"changeset:publish": "pnpm prepack && changeset publish",
"changeset:version": "changeset version && pnpm i --lockfile-only",
"ci:all": "pnpm ci:attw && pnpm ci:eslint && pnpm ci:lighthouse && pnpm ci:publint && pnpm ci:sherif && pnpm ci:type && pnpm test && pnpm build",
"ci:all": "pnpm ci:attw && pnpm ci:eslint && pnpm ci:publint && pnpm ci:sherif && pnpm ci:type && pnpm test && pnpm build",
"ci:attw": "turbo run ci:attw",
"ci:eslint": "turbo run ci:eslint",
"ci:lighthouse": "lhci autorun",
"ci:publint": "turbo run ci:publint",
"ci:sherif": "sherif --ignore-package \"./examples/*\" --ignore-package \"./websites/*\" --ignore-package \"./docs/*\"",
"ci:type": "turbo run ci:type",
Expand All @@ -41,17 +40,16 @@
"test:watch": "turbo run test:watch --parallel"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.15.1",
"@arethetypeswrong/cli": "^0.15.2",
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.1",
"@commitlint/cli": "^19.2.0",
"@commitlint/cli": "^19.2.1",
"@commitlint/config-conventional": "^19.1.0",
"@lhci/cli": "^0.13.0",
"@testing-library/dom": "^9.3.4",
"@testing-library/jest-dom": "^6.4.2",
"@testing-library/react": "^14.2.1",
"@testing-library/react": "^14.2.2",
"@testing-library/user-event": "^14.5.2",
"@types/node": "^18.19.24",
"@types/node": "^18.19.29",
"@vitest/browser": "^1.4.0",
"@vitest/coverage-istanbul": "^1.4.0",
"@vitest/ui": "^1.4.0",
Expand All @@ -61,16 +59,16 @@
"lint-staged": "^15.2.2",
"ms": "3.0.0-canary.1",
"packlint": "^0.2.4",
"playwright": "^1.42.1",
"playwright": "^1.43.0",
"prettier": "^3.2.5",
"prettier-plugin-tailwindcss": "^0.5.12",
"prettier-plugin-tailwindcss": "^0.5.13",
"publint": "^0.2.7",
"rimraf": "^5.0.5",
"sherif": "^0.8.1",
"tsup": "^8.0.2",
"turbo": "latest",
"typescript": "^5.4.2",
"vite": "^5.1.6",
"typescript": "^5.4.4",
"vite": "^5.2.8",
"vitest": "^1.4.0"
}
}
2 changes: 1 addition & 1 deletion packages/react-await/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"@suspensive/test-utils": "workspace:*",
"@suspensive/tsconfig": "workspace:*",
"@suspensive/tsup": "workspace:*",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"@types/react-dom": "^18.2.22",
"@types/use-sync-external-store": "^0.0.6",
"react": "^18.2.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-image/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
"@suspensive/test-utils": "workspace:*",
"@suspensive/tsconfig": "workspace:*",
"@suspensive/tsup": "workspace:*",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"@types/react-dom": "^18.2.22",
"@types/use-sync-external-store": "^0.0.6",
"react": "^18.2.0",
Expand Down
16 changes: 16 additions & 0 deletions packages/react-query/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# @suspensive/react-query

## 1.26.7

### Patch Changes

- [#826](https://github.com/suspensive/react/pull/826) [`3f2bed2`](https://github.com/suspensive/react/commit/3f2bed2008844c8372632c18eefef8cef6c9b839) Thanks [@manudeli](https://github.com/manudeli)! - fix(react-query): add OmitKeyof to type strictly

- Updated dependencies []:
- @suspensive/react@1.26.7

## 1.26.6

### Patch Changes

- Updated dependencies [[`33fe78c`](https://github.com/suspensive/react/commit/33fe78cc2cfaae05fdd641499ac4b209e6b72130)]:
- @suspensive/react@1.26.6

## 1.26.5

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions packages/react-query/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@suspensive/react-query",
"version": "1.26.5",
"version": "1.26.7",
"description": "Useful helpers for @tanstack/react-query with suspense",
"keywords": [
"suspensive",
Expand Down Expand Up @@ -64,13 +64,13 @@
"@suspensive/tsconfig": "workspace:*",
"@suspensive/tsup": "workspace:*",
"@tanstack/react-query": "^4.36.1",
"@types/react": "^18.2.66",
"@types/react": "^18.2.72",
"@types/react-dom": "^18.2.22",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"peerDependencies": {
"@suspensive/react": "workspace:^1.26.5",
"@suspensive/react": "workspace:^1.26.7",
"@tanstack/react-query": "^4",
"react": "^16.8 || ^17 || ^18"
},
Expand Down
35 changes: 21 additions & 14 deletions packages/react-query/src/useSuspenseInfiniteQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ import {
parseQueryArgs,
useInfiniteQuery,
} from '@tanstack/react-query'
import type { OmitKeyof } from './utility-types'

export type BaseUseSuspenseInfiniteQueryResult<TData = unknown> = Omit<
export type BaseUseSuspenseInfiniteQueryResult<TData = unknown> = OmitKeyof<
UseInfiniteQueryResult<TData>,
'error' | 'isLoadingError' | 'isError' | 'isRefetchError' | 'isFetching'
> & { status: 'success' | 'loading' }
Expand All @@ -31,7 +32,7 @@ export type UseSuspenseInfiniteQueryOptions<
TError = unknown,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
> = Omit<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'>
> = OmitKeyof<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'>

/**
* This hook wrapping useInfiniteQuery of @tanstack/react-query with default suspense option. with this hook, you don't have to make unnecessary type narrowing
Expand All @@ -46,7 +47,7 @@ export function useSuspenseInfiniteQuery<
>(
queryKey: TQueryKey,
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
options?: Omit<
options?: OmitKeyof<
UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'queryKey' | 'queryFn'
>
Expand All @@ -59,7 +60,7 @@ export function useSuspenseInfiniteQuery<
>(
queryKey: TQueryKey,
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
options: Omit<
options: OmitKeyof<
UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'queryKey' | 'queryFn'
> & {
Expand All @@ -74,7 +75,7 @@ export function useSuspenseInfiniteQuery<
>(
queryKey: TQueryKey,
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
options: Omit<
options: OmitKeyof<
UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'queryKey' | 'queryFn'
> & {
Expand All @@ -89,7 +90,7 @@ export function useSuspenseInfiniteQuery<
>(
queryKey: TQueryKey,
queryFn: QueryFunction<TQueryFnData, TQueryKey>,
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>
options: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>
): UseSuspenseInfiniteQueryResultOnSuccess<TData> | UseSuspenseInfiniteQueryResultOnLoading

// arg1: queryKey, arg2: options
Expand All @@ -100,7 +101,7 @@ export function useSuspenseInfiniteQuery<
TQueryKey extends QueryKey = QueryKey,
>(
queryKey: TQueryKey,
options?: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'queryKey'>
options?: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'queryKey'>
): UseSuspenseInfiniteQueryResultOnSuccess<TData>
export function useSuspenseInfiniteQuery<
TQueryFnData = unknown,
Expand All @@ -109,7 +110,10 @@ export function useSuspenseInfiniteQuery<
TQueryKey extends QueryKey = QueryKey,
>(
queryKey: TQueryKey,
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'queryKey'> & {
options: OmitKeyof<
UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'queryKey'
> & {
enabled?: true
}
): UseSuspenseInfiniteQueryResultOnSuccess<TData>
Expand All @@ -120,7 +124,10 @@ export function useSuspenseInfiniteQuery<
TQueryKey extends QueryKey = QueryKey,
>(
queryKey: TQueryKey,
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled' | 'queryKey'> & {
options: OmitKeyof<
UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'queryKey'
> & {
enabled: false
}
): UseSuspenseInfiniteQueryResultOnLoading
Expand All @@ -131,7 +138,7 @@ export function useSuspenseInfiniteQuery<
TQueryKey extends QueryKey = QueryKey,
>(
queryKey: TQueryKey,
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>
options: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>
): UseSuspenseInfiniteQueryResultOnSuccess<TData> | UseSuspenseInfiniteQueryResultOnLoading

// arg1: options
Expand All @@ -141,7 +148,7 @@ export function useSuspenseInfiniteQuery<
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled'> & {
options: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled'> & {
enabled?: true
}
): UseSuspenseInfiniteQueryResultOnSuccess<TData>
Expand All @@ -151,7 +158,7 @@ export function useSuspenseInfiniteQuery<
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
options: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled'> & {
options: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'enabled'> & {
enabled: false
}
): UseSuspenseInfiniteQueryResultOnLoading
Expand All @@ -174,8 +181,8 @@ export function useSuspenseInfiniteQuery<
arg1: TQueryKey | UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
arg2?:
| QueryFunction<TQueryFnData, TQueryKey>
| Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>,
arg3?: Omit<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>
| OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey'>,
arg3?: OmitKeyof<UseSuspenseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryKey' | 'queryFn'>
) {
return useInfiniteQuery({
...parseQueryArgs(arg1, arg2, arg3),
Expand Down
3 changes: 2 additions & 1 deletion packages/react-query/src/useSuspenseQueries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
useQueries,
} from '@tanstack/react-query'
import type { UseSuspenseQueryResultOnLoading, UseSuspenseQueryResultOnSuccess } from './useSuspenseQuery'
import type { OmitKeyof } from './utility-types'

// Avoid TS depth-limit error in case of large array literal
type MAXIMUM_DEPTH = 20
Expand All @@ -18,7 +19,7 @@ type UseQueryOptionsForUseSuspenseQueries<
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
TEnabled extends boolean | undefined = true,
> = Omit<UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>, 'context' | 'suspense'> & {
> = OmitKeyof<UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>, 'context' | 'suspense'> & {
enabled?: TEnabled
}

Expand Down

0 comments on commit 7e22cdc

Please sign in to comment.