@cedarjs/web 5.0.3 → 5.0.4-next.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apollo/ApolloProviderWithFetchConfig.d.ts +15 -0
- package/dist/apollo/ApolloProviderWithFetchConfig.d.ts.map +1 -0
- package/dist/apollo/ApolloProviderWithFetchConfig.js +134 -0
- package/dist/apollo/CedarApolloProvider.d.ts +14 -0
- package/dist/apollo/CedarApolloProvider.d.ts.map +1 -0
- package/dist/apollo/CedarApolloProvider.js +35 -0
- package/dist/apollo/ErrorBoundary.d.ts +13 -0
- package/dist/apollo/ErrorBoundary.d.ts.map +1 -0
- package/dist/apollo/ErrorBoundary.js +13 -0
- package/dist/{cjs/apollo/suspense.d.ts → apollo/apolloLinkTypes.d.ts} +22 -22
- package/dist/apollo/apolloLinkTypes.d.ts.map +1 -0
- package/dist/apollo/fragmentRegistry.d.ts +25 -0
- package/dist/apollo/fragmentRegistry.d.ts.map +1 -1
- package/dist/apollo/fragmentRegistry.js +19 -1
- package/dist/apollo/index.d.ts +50 -70
- package/dist/apollo/index.d.ts.map +1 -1
- package/dist/apollo/index.js +2 -184
- package/dist/apollo/suspense.d.ts +16 -7
- package/dist/apollo/suspense.d.ts.map +1 -1
- package/dist/apollo/suspense.js +9 -26
- package/dist/bins/cedar.js +14 -0
- package/dist/bins/cfw.js +14 -0
- package/dist/bins/cross-env.js +8 -0
- package/dist/bins/msw.js +6 -0
- package/dist/bins/redwood.js +14 -0
- package/dist/bins/storybook.js +27 -0
- package/dist/bins/tsc.js +8 -0
- package/dist/bundled/apollo-upload-client.js +2899 -1
- package/dist/components/FetchConfigProvider.d.ts +3 -2
- package/dist/components/FetchConfigProvider.d.ts.map +1 -1
- package/dist/components/cell/CellErrorBoundary.d.ts +3 -2
- package/dist/components/cell/CellErrorBoundary.d.ts.map +1 -1
- package/dist/components/cell/cellTypes.d.ts +17 -4
- package/dist/components/cell/cellTypes.d.ts.map +1 -1
- package/dist/components/cell/createCell.d.ts +1 -7
- package/dist/components/cell/createCell.d.ts.map +1 -1
- package/dist/components/cell/createCell.js +22 -3
- package/dist/components/cell/createFragmentCell.d.ts +19 -0
- package/dist/components/cell/createFragmentCell.d.ts.map +1 -0
- package/dist/components/cell/createFragmentCell.js +73 -0
- package/dist/components/cell/createSuspendingCell.d.ts.map +1 -1
- package/dist/components/cell/createSuspendingCell.js +12 -3
- package/dist/global.web-auto-imports.d.ts +0 -16
- package/dist/global.web-auto-imports.d.ts.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/package.json +48 -106
- package/dist/apollo/typeOverride.d.ts +0 -21
- package/dist/apollo/typeOverride.d.ts.map +0 -1
- package/dist/cjs/apollo/fragmentRegistry.d.ts +0 -43
- package/dist/cjs/apollo/fragmentRegistry.d.ts.map +0 -1
- package/dist/cjs/apollo/fragmentRegistry.js +0 -75
- package/dist/cjs/apollo/index.d.ts +0 -76
- package/dist/cjs/apollo/index.d.ts.map +0 -1
- package/dist/cjs/apollo/index.js +0 -218
- package/dist/cjs/apollo/links.d.ts +0 -27
- package/dist/cjs/apollo/links.d.ts.map +0 -1
- package/dist/cjs/apollo/links.js +0 -122
- package/dist/cjs/apollo/sseLink.d.ts +0 -29
- package/dist/cjs/apollo/sseLink.d.ts.map +0 -1
- package/dist/cjs/apollo/sseLink.js +0 -120
- package/dist/cjs/apollo/suspense.d.ts.map +0 -1
- package/dist/cjs/apollo/suspense.js +0 -127
- package/dist/cjs/apollo/typeOverride.d.ts +0 -21
- package/dist/cjs/apollo/typeOverride.d.ts.map +0 -1
- package/dist/cjs/apollo/typeOverride.js +0 -16
- package/dist/cjs/apollo/useCache.d.ts +0 -22
- package/dist/cjs/apollo/useCache.d.ts.map +0 -1
- package/dist/cjs/apollo/useCache.js +0 -49
- package/dist/cjs/bins/cedar.d.ts +0 -9
- package/dist/cjs/bins/cedar.d.ts.map +0 -1
- package/dist/cjs/bins/cedar.js +0 -36
- package/dist/cjs/bins/cfw.d.ts +0 -3
- package/dist/cjs/bins/cfw.d.ts.map +0 -1
- package/dist/cjs/bins/cfw.js +0 -36
- package/dist/cjs/bins/cross-env.d.ts +0 -3
- package/dist/cjs/bins/cross-env.d.ts.map +0 -1
- package/dist/cjs/bins/cross-env.js +0 -30
- package/dist/cjs/bins/msw.d.ts +0 -3
- package/dist/cjs/bins/msw.d.ts.map +0 -1
- package/dist/cjs/bins/msw.js +0 -28
- package/dist/cjs/bins/redwood.d.ts +0 -9
- package/dist/cjs/bins/redwood.d.ts.map +0 -1
- package/dist/cjs/bins/redwood.js +0 -36
- package/dist/cjs/bins/storybook.d.ts +0 -3
- package/dist/cjs/bins/storybook.d.ts.map +0 -1
- package/dist/cjs/bins/storybook.js +0 -49
- package/dist/cjs/bins/tsc.d.ts +0 -3
- package/dist/cjs/bins/tsc.d.ts.map +0 -1
- package/dist/cjs/bins/tsc.js +0 -30
- package/dist/cjs/bundled/apollo-upload-client.d.ts +0 -3
- package/dist/cjs/bundled/apollo-upload-client.d.ts.map +0 -1
- package/dist/cjs/bundled/apollo-upload-client.js +0 -2925
- package/dist/cjs/components/DevFatalErrorPage.d.ts +0 -21
- package/dist/cjs/components/DevFatalErrorPage.d.ts.map +0 -1
- package/dist/cjs/components/DevFatalErrorPage.js +0 -552
- package/dist/cjs/components/FatalErrorBoundary.d.ts +0 -24
- package/dist/cjs/components/FatalErrorBoundary.d.ts.map +0 -1
- package/dist/cjs/components/FatalErrorBoundary.js +0 -63
- package/dist/cjs/components/FetchConfigProvider.d.ts +0 -25
- package/dist/cjs/components/FetchConfigProvider.d.ts.map +0 -1
- package/dist/cjs/components/FetchConfigProvider.js +0 -80
- package/dist/cjs/components/GraphQLHooksProvider.d.ts +0 -45
- package/dist/cjs/components/GraphQLHooksProvider.d.ts.map +0 -1
- package/dist/cjs/components/GraphQLHooksProvider.js +0 -135
- package/dist/cjs/components/MetaTags.d.ts +0 -52
- package/dist/cjs/components/MetaTags.d.ts.map +0 -1
- package/dist/cjs/components/MetaTags.js +0 -68
- package/dist/cjs/components/Metadata.d.ts +0 -9
- package/dist/cjs/components/Metadata.d.ts.map +0 -1
- package/dist/cjs/components/Metadata.js +0 -94
- package/dist/cjs/components/PortalHead.d.ts +0 -4
- package/dist/cjs/components/PortalHead.d.ts.map +0 -1
- package/dist/cjs/components/PortalHead.js +0 -59
- package/dist/cjs/components/RedwoodProvider.d.ts +0 -9
- package/dist/cjs/components/RedwoodProvider.d.ts.map +0 -1
- package/dist/cjs/components/RedwoodProvider.js +0 -57
- package/dist/cjs/components/ServerInject.d.ts +0 -26
- package/dist/cjs/components/ServerInject.d.ts.map +0 -1
- package/dist/cjs/components/ServerInject.js +0 -75
- package/dist/cjs/components/cell/CellCacheContext.d.ts +0 -20
- package/dist/cjs/components/cell/CellCacheContext.d.ts.map +0 -1
- package/dist/cjs/components/cell/CellCacheContext.js +0 -53
- package/dist/cjs/components/cell/CellErrorBoundary.d.ts +0 -25
- package/dist/cjs/components/cell/CellErrorBoundary.d.ts.map +0 -1
- package/dist/cjs/components/cell/CellErrorBoundary.js +0 -66
- package/dist/cjs/components/cell/cellTypes.d.ts +0 -152
- package/dist/cjs/components/cell/cellTypes.d.ts.map +0 -1
- package/dist/cjs/components/cell/cellTypes.js +0 -16
- package/dist/cjs/components/cell/createCell.d.ts +0 -10
- package/dist/cjs/components/cell/createCell.d.ts.map +0 -1
- package/dist/cjs/components/cell/createCell.js +0 -165
- package/dist/cjs/components/cell/createCell.test.js +0 -351
- package/dist/cjs/components/cell/createServerCell.d.ts +0 -15
- package/dist/cjs/components/cell/createServerCell.d.ts.map +0 -1
- package/dist/cjs/components/cell/createServerCell.js +0 -91
- package/dist/cjs/components/cell/createSuspendingCell.d.ts +0 -11
- package/dist/cjs/components/cell/createSuspendingCell.d.ts.map +0 -1
- package/dist/cjs/components/cell/createSuspendingCell.js +0 -152
- package/dist/cjs/components/cell/createSuspendingCell.test.js +0 -115
- package/dist/cjs/components/cell/isCellEmpty.d.ts +0 -41
- package/dist/cjs/components/cell/isCellEmpty.d.ts.map +0 -1
- package/dist/cjs/components/cell/isCellEmpty.js +0 -35
- package/dist/cjs/components/htmlTags.d.ts +0 -52
- package/dist/cjs/components/htmlTags.d.ts.map +0 -1
- package/dist/cjs/components/htmlTags.js +0 -88
- package/dist/cjs/config.d.ts +0 -2
- package/dist/cjs/config.d.ts.map +0 -1
- package/dist/cjs/config.js +0 -6
- package/dist/cjs/global.web-auto-imports.d.ts +0 -30
- package/dist/cjs/global.web-auto-imports.d.ts.map +0 -1
- package/dist/cjs/global.web-auto-imports.js +0 -16
- package/dist/cjs/graphql.d.ts +0 -23
- package/dist/cjs/graphql.d.ts.map +0 -1
- package/dist/cjs/graphql.js +0 -36
- package/dist/cjs/index.d.ts +0 -19
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -69
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/routeHooks.types.d.ts +0 -12
- package/dist/cjs/routeHooks.types.d.ts.map +0 -1
- package/dist/cjs/routeHooks.types.js +0 -16
- package/dist/cjs/server/MiddlewareRequest.d.ts +0 -28
- package/dist/cjs/server/MiddlewareRequest.d.ts.map +0 -1
- package/dist/cjs/server/MiddlewareRequest.js +0 -71
- package/dist/cjs/server/MiddlewareResponse.d.ts +0 -44
- package/dist/cjs/server/MiddlewareResponse.d.ts.map +0 -1
- package/dist/cjs/server/MiddlewareResponse.js +0 -130
- package/dist/cjs/server/middleware.d.ts +0 -17
- package/dist/cjs/server/middleware.d.ts.map +0 -1
- package/dist/cjs/server/middleware.js +0 -24
- package/dist/cjs/server/request.d.ts +0 -2
- package/dist/cjs/server/request.d.ts.map +0 -1
- package/dist/cjs/server/request.js +0 -34
- package/dist/cjs/streamUtils/useDocumentReady.d.ts +0 -11
- package/dist/cjs/streamUtils/useDocumentReady.d.ts.map +0 -1
- package/dist/cjs/streamUtils/useDocumentReady.js +0 -41
- package/dist/cjs/toast/index.d.ts +0 -3
- package/dist/cjs/toast/index.d.ts.map +0 -1
- package/dist/cjs/toast/index.js +0 -41
- package/dist/components/GraphQLHooksProvider.d.ts +0 -45
- package/dist/components/GraphQLHooksProvider.d.ts.map +0 -1
- package/dist/components/GraphQLHooksProvider.js +0 -94
- package/dist/components/cell/createCell.test.js +0 -328
- package/dist/components/cell/createSuspendingCell.test.js +0 -92
- package/dist/package.json +0 -1
- /package/dist/apollo/{typeOverride.js → apolloLinkTypes.js} +0 -0
|
@@ -16,8 +16,9 @@ interface Props {
|
|
|
16
16
|
/**
|
|
17
17
|
* The `FetchConfigProvider` understands Redwood's Auth and determines the
|
|
18
18
|
* correct request-headers based on a user's authentication state.
|
|
19
|
-
* Note that the auth bearer token is now passed in
|
|
20
|
-
* as the token is
|
|
19
|
+
* Note that the auth bearer token is now passed in
|
|
20
|
+
* packages/web/src/apollo/ApolloProviderWithFetchConfig.tsx as the token is
|
|
21
|
+
* retrieved async
|
|
21
22
|
*/
|
|
22
23
|
export declare const FetchConfigProvider: React.FC<Props>;
|
|
23
24
|
export declare const useFetchConfig: () => FetchConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchConfigProvider.d.ts","sourceRoot":"","sources":["../../src/components/FetchConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,eAAO,MAAM,gBAAgB,cAE5B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/D;AAED,eAAO,MAAM,kBAAkB,4BAE7B,CAAA;AAEF,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"FetchConfigProvider.d.ts","sourceRoot":"","sources":["../../src/components/FetchConfigProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,eAAO,MAAM,gBAAgB,cAE5B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/D;AAED,eAAO,MAAM,kBAAkB,4BAE7B,CAAA;AAEF,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+B/C,CAAA;AAED,eAAO,MAAM,cAAc,mBAA6C,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { QueryResult } from '@apollo/client';
|
|
2
3
|
import type { CellFailureProps } from './cellTypes.js';
|
|
3
4
|
export type FallbackProps = {
|
|
4
|
-
error:
|
|
5
|
+
error: QueryResult['error'];
|
|
5
6
|
resetErrorBoundary: () => void;
|
|
6
7
|
};
|
|
7
8
|
export type CellErrorBoundaryProps = {
|
|
@@ -10,7 +11,7 @@ export type CellErrorBoundaryProps = {
|
|
|
10
11
|
};
|
|
11
12
|
interface ErrState {
|
|
12
13
|
hasError: boolean;
|
|
13
|
-
error?:
|
|
14
|
+
error?: QueryResult['error'];
|
|
14
15
|
}
|
|
15
16
|
export declare class CellErrorBoundary extends React.Component<CellErrorBoundaryProps, ErrState> {
|
|
16
17
|
constructor(props: CellErrorBoundaryProps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/components/cell/CellErrorBoundary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CellErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/components/cell/CellErrorBoundary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IAGnC,cAAc,EAAE,CACd,OAAO,EAAE,aAAa,KACnB,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,UAAU,QAAQ;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;CAC7B;AAED,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,SAAS,CACpD,sBAAsB,EACtB,QAAQ,CACT;gBACa,KAAK,EAAE,sBAAsB;IAKzC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;;IAI5C,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAQ1D,MAAM;CAgBP"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentProps, JSXElementConstructor } from 'react';
|
|
2
|
-
import type { ApolloClient, NetworkStatus, OperationVariables, QueryRef, UseBackgroundQueryResult } from '@apollo/client';
|
|
2
|
+
import type { ApolloClient, NetworkStatus, OperationVariables, QueryRef, QueryResult, UseBackgroundQueryResult } from '@apollo/client';
|
|
3
3
|
import type { DocumentNode } from 'graphql';
|
|
4
4
|
import type { A, L, O, U } from 'ts-toolbelt';
|
|
5
5
|
/**
|
|
@@ -27,7 +27,7 @@ export type CellLoadingProps<TVariables extends OperationVariables = any> = {
|
|
|
27
27
|
} & InputVarProps<TVariables>;
|
|
28
28
|
export type CellFailureProps<TVariables extends OperationVariables = any> = {
|
|
29
29
|
queryResult?: NonSuspenseCellQueryResult<TVariables, any> | SuspenseCellQueryResult;
|
|
30
|
-
error?:
|
|
30
|
+
error?: QueryResult['error'] | Error;
|
|
31
31
|
/**
|
|
32
32
|
* @see {@link https://www.apollographql.com/docs/apollo-server/data/errors/#error-codes}
|
|
33
33
|
*/
|
|
@@ -80,8 +80,21 @@ export interface CreateCellProps<CellProps, CellVariables> {
|
|
|
80
80
|
/**
|
|
81
81
|
* The GraphQL syntax tree to execute or function to call that returns it.
|
|
82
82
|
* If `QUERY` is a function, it's called with the result of `beforeQuery`.
|
|
83
|
+
*
|
|
84
|
+
* Either `QUERY` or `FRAGMENT` must be provided.
|
|
85
|
+
*/
|
|
86
|
+
QUERY?: DocumentNode | ((variables: Record<string, unknown>) => DocumentNode);
|
|
87
|
+
/**
|
|
88
|
+
* A GraphQL fragment that declares this Cell's data requirements. Fragment
|
|
89
|
+
* Cells don't fire their own query. Instead a parent Cell spreads the
|
|
90
|
+
* fragment in its `QUERY` and passes the fetched data object down via a
|
|
91
|
+
* prop named after the fragment (`AuthorCell_author` -> `author`). The
|
|
92
|
+
* fragment is automatically registered with the GraphQL client's fragment
|
|
93
|
+
* registry, so parent queries can spread it by name.
|
|
94
|
+
*
|
|
95
|
+
* Either `QUERY` or `FRAGMENT` must be provided.
|
|
83
96
|
*/
|
|
84
|
-
|
|
97
|
+
FRAGMENT?: DocumentNode;
|
|
85
98
|
/**
|
|
86
99
|
* Parse `props` into query variables. Most of the time `props` are appropriate variables as is.
|
|
87
100
|
*/
|
|
@@ -142,7 +155,7 @@ export type SuspendingSuccessProps = React.PropsWithChildren<Record<string, unkn
|
|
|
142
155
|
suspenseQueryResult: SuspenseCellQueryResult<DataObject, any>;
|
|
143
156
|
userProps: Record<string, any>;
|
|
144
157
|
};
|
|
145
|
-
export type NonSuspenseCellQueryResult<TVariables extends OperationVariables = any, TData = any> = Partial<Omit<
|
|
158
|
+
export type NonSuspenseCellQueryResult<TVariables extends OperationVariables = any, TData = any> = Partial<Omit<QueryResult<TData, TVariables>, 'loading' | 'error' | 'data'>>;
|
|
146
159
|
export interface SuspenseCellQueryResult<_TData = any, _TVariables extends OperationVariables = any> extends UseBackgroundQueryResult {
|
|
147
160
|
client: ApolloClient<any>;
|
|
148
161
|
networkStatus?: NetworkStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cellTypes.d.ts","sourceRoot":"","sources":["../../../src/components/cell/cellTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,wBAAwB,EACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;GASG;AACH,KAAK,kBAAkB,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,SAAS;IACzD,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CACrC,GACG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GACpC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACxC,OAAO,GACP,YAAY,CAAA;AAElB;;GAEG;AACH,MAAM,MAAM,SAAS,CACnB,WAAW,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAC5E,SAAS,EACT,QAAQ,EACR,YAAY,IACV,CAAC,CAAC,OAAO,CACX,IAAI,CACF,cAAc,CAAC,WAAW,CAAC,EACzB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,GAChD,MAAM,SAAS,GACf,UAAU,GACV,aAAa,CAChB,GACC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAC7C,CAAA;AAED,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,GAAG,OAAO,GAAG,CAAC,CAAA;AAExE,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,kBAAkB,GAAG,GAAG,IAAI;IAC1E,WAAW,CAAC,EACR,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,GAC3C,uBAAuB,CAAA;CAC5B,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;AAE7B,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,kBAAkB,GAAG,GAAG,IAAI;IAC1E,WAAW,CAAC,EACR,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,GAC3C,uBAAuB,CAAA;IAC3B,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"cellTypes.d.ts","sourceRoot":"","sources":["../../../src/components/cell/cellTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { CreateCellProps } from './cellTypes.js';
|
|
3
|
-
|
|
4
|
-
export declare const createCell: typeof createSuspendingCell | typeof createNonSuspendingCell;
|
|
5
|
-
/**
|
|
6
|
-
* Creates a Cell out of a GraphQL query and components that track to its lifecycle.
|
|
7
|
-
*/
|
|
8
|
-
declare function createNonSuspendingCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>({ QUERY, beforeQuery, afterQuery, isEmpty, Loading, Failure, Empty, Success, displayName, }: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
9
|
-
export {};
|
|
3
|
+
export declare function createCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>(createCellProps: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
10
4
|
//# sourceMappingURL=createCell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCell.d.ts","sourceRoot":"","sources":["../../../src/components/cell/createCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"createCell.d.ts","sourceRoot":"","sources":["../../../src/components/cell/createCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKrD,wBAAgB,UAAU,CACxB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE7C,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,GACzD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAiCrB"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { useQuery } from "@apollo/client/react/hooks/hooks.cjs";
|
|
2
3
|
import { fragmentRegistry } from "../../apollo/fragmentRegistry.js";
|
|
3
4
|
import { getOperationName } from "../../graphql.js";
|
|
4
|
-
import { useQuery } from "../GraphQLHooksProvider.js";
|
|
5
5
|
import { useCellCacheContext } from "./CellCacheContext.js";
|
|
6
|
+
import { createFragmentCell } from "./createFragmentCell.js";
|
|
6
7
|
import { createSuspendingCell } from "./createSuspendingCell.js";
|
|
7
8
|
import { isDataEmpty } from "./isCellEmpty.js";
|
|
8
|
-
|
|
9
|
+
function createCell(createCellProps) {
|
|
10
|
+
if (createCellProps.FRAGMENT) {
|
|
11
|
+
if (!createCellProps.QUERY) {
|
|
12
|
+
return createFragmentCell(createCellProps);
|
|
13
|
+
}
|
|
14
|
+
fragmentRegistry.register(createCellProps.FRAGMENT);
|
|
15
|
+
}
|
|
16
|
+
if (RWJS_ENV.RWJS_EXP_STREAMING_SSR) {
|
|
17
|
+
const suspendingCellProps = createCellProps;
|
|
18
|
+
return createSuspendingCell(suspendingCellProps);
|
|
19
|
+
}
|
|
20
|
+
return createNonSuspendingCell(createCellProps);
|
|
21
|
+
}
|
|
9
22
|
function createNonSuspendingCell({
|
|
10
23
|
QUERY,
|
|
11
24
|
beforeQuery = (props) => ({
|
|
@@ -28,10 +41,16 @@ function createNonSuspendingCell({
|
|
|
28
41
|
Success,
|
|
29
42
|
displayName = "Cell"
|
|
30
43
|
}) {
|
|
44
|
+
if (!QUERY) {
|
|
45
|
+
throw new Error(
|
|
46
|
+
`Can't create a Cell (${displayName}) without a QUERY or FRAGMENT export`
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
const cellQuery = QUERY;
|
|
31
50
|
function NamedCell(props) {
|
|
32
51
|
const { children: _, ...variables } = props;
|
|
33
52
|
const options = beforeQuery(variables);
|
|
34
|
-
const query = typeof
|
|
53
|
+
const query = typeof cellQuery === "function" ? cellQuery(options) : cellQuery;
|
|
35
54
|
let {
|
|
36
55
|
// eslint-disable-next-line prefer-const
|
|
37
56
|
error,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CreateCellProps } from './cellTypes.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Cell out of a GraphQL fragment and components that render its
|
|
5
|
+
* data.
|
|
6
|
+
*
|
|
7
|
+
* Fragment Cells don't fire queries of their own. A parent Cell spreads the
|
|
8
|
+
* fragment in its QUERY and passes the matching slice of the query result
|
|
9
|
+
* down via a prop named after the fragment (`AuthorCell_author` -> `author`).
|
|
10
|
+
* `Success` receives the data as that same prop. The data is read
|
|
11
|
+
* synchronously, so fragment Cells never render `Loading`.
|
|
12
|
+
*
|
|
13
|
+
* When the GraphQL client supports it (Apollo does), the fragment data is
|
|
14
|
+
* read from the client's cache, so the Cell re-renders when other queries or
|
|
15
|
+
* mutations update the underlying entity. If the cache read is incomplete,
|
|
16
|
+
* the passed-in object itself is used as the data snapshot.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFragmentCell<CellProps extends Record<string, unknown>, CellVariables extends Record<string, unknown>>({ FRAGMENT, afterQuery, isEmpty, Empty, Success, displayName, }: CreateCellProps<CellProps, CellVariables>): React.FC<CellProps>;
|
|
19
|
+
//# sourceMappingURL=createFragmentCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFragmentCell.d.ts","sourceRoot":"","sources":["../../../src/components/cell/createFragmentCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAqDrD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,QAAQ,EACR,UAA2B,EAC3B,OAAqB,EACrB,KAAK,EACL,OAAO,EACP,WAAoB,GACrB,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAkEjE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Kind } from "graphql";
|
|
3
|
+
import { fragmentRegistry, useFragment } from "../../apollo/fragmentRegistry.js";
|
|
4
|
+
import { isDataEmpty } from "./isCellEmpty.js";
|
|
5
|
+
function getFragmentDefinition(fragment, displayName) {
|
|
6
|
+
const fragmentDefinition = fragment.definitions.find(
|
|
7
|
+
(definition) => definition.kind === Kind.FRAGMENT_DEFINITION
|
|
8
|
+
);
|
|
9
|
+
if (!fragmentDefinition) {
|
|
10
|
+
throw new Error(
|
|
11
|
+
`The FRAGMENT export in ${displayName} must contain a GraphQL fragment definition, like \`fragment AuthorCell_author on User { fullName }\``
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
return fragmentDefinition;
|
|
15
|
+
}
|
|
16
|
+
function getFragmentPropName(fragmentDefinition) {
|
|
17
|
+
const fragmentName = fragmentDefinition.name.value;
|
|
18
|
+
const underscoreIndex = fragmentName.lastIndexOf("_");
|
|
19
|
+
if (underscoreIndex > 0 && underscoreIndex < fragmentName.length - 1) {
|
|
20
|
+
return fragmentName.slice(underscoreIndex + 1);
|
|
21
|
+
}
|
|
22
|
+
const typename = fragmentDefinition.typeCondition.name.value;
|
|
23
|
+
return typename.charAt(0).toLowerCase() + typename.slice(1);
|
|
24
|
+
}
|
|
25
|
+
function isDataRef(value) {
|
|
26
|
+
return typeof value === "object" && value !== null;
|
|
27
|
+
}
|
|
28
|
+
function createFragmentCell({
|
|
29
|
+
FRAGMENT,
|
|
30
|
+
afterQuery = (data) => data,
|
|
31
|
+
isEmpty = isDataEmpty,
|
|
32
|
+
Empty,
|
|
33
|
+
Success,
|
|
34
|
+
displayName = "Cell"
|
|
35
|
+
}) {
|
|
36
|
+
if (!FRAGMENT) {
|
|
37
|
+
throw new Error(
|
|
38
|
+
`createFragmentCell() for ${displayName} requires a FRAGMENT`
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
const fragment = FRAGMENT;
|
|
42
|
+
const fragmentDefinition = getFragmentDefinition(fragment, displayName);
|
|
43
|
+
const fragmentName = fragmentDefinition.name.value;
|
|
44
|
+
const propName = getFragmentPropName(fragmentDefinition);
|
|
45
|
+
fragmentRegistry.register(fragment);
|
|
46
|
+
function NamedCell(props) {
|
|
47
|
+
const { children: _, [propName]: rawSlice, ...rest } = props;
|
|
48
|
+
const dataRef = isDataRef(rawSlice) ? rawSlice : void 0;
|
|
49
|
+
const fragmentResult = useFragment({
|
|
50
|
+
fragment,
|
|
51
|
+
fragmentName,
|
|
52
|
+
from: dataRef ?? {}
|
|
53
|
+
});
|
|
54
|
+
if (!(propName in props)) {
|
|
55
|
+
throw new Error(
|
|
56
|
+
`${displayName} must be passed a \`${propName}\` prop. Render it from a parent Cell that spreads \`...${fragmentName}\` in its QUERY, and pass the matching data object: \`<${displayName} ${propName}={data.someField} />\``
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
const data = fragmentResult.complete ? fragmentResult.data : dataRef ?? null;
|
|
60
|
+
const afterQueryData = afterQuery({ [propName]: data });
|
|
61
|
+
if (isEmpty({ [propName]: data }, { isDataEmpty }) && Empty) {
|
|
62
|
+
return /* @__PURE__ */ React.createElement(Empty, { ...rest, ...afterQueryData });
|
|
63
|
+
}
|
|
64
|
+
return /* @__PURE__ */ React.createElement(Success, { ...rest, ...afterQueryData });
|
|
65
|
+
}
|
|
66
|
+
NamedCell.displayName = displayName;
|
|
67
|
+
return (props) => {
|
|
68
|
+
return /* @__PURE__ */ React.createElement(NamedCell, { ...props });
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export {
|
|
72
|
+
createFragmentCell
|
|
73
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSuspendingCell.d.ts","sourceRoot":"","sources":["../../../src/components/cell/createSuspendingCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"createSuspendingCell.d.ts","sourceRoot":"","sources":["../../../src/components/cell/createSuspendingCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAWvC,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAA;AAGvB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACrC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,SAAS,MAAM,EACxB,aAAa,SAAS,MAAM,EAE5B,eAAe,EAAE,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,GACtD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAiJrB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React, { Suspense } from "react";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
useApolloClient,
|
|
4
|
+
useBackgroundQuery,
|
|
5
|
+
useReadQuery
|
|
6
|
+
} from "@apollo/client/react/hooks/hooks.cjs";
|
|
4
7
|
import { CellErrorBoundary } from "./CellErrorBoundary.js";
|
|
5
8
|
import { isDataEmpty } from "./isCellEmpty.js";
|
|
6
9
|
function createSuspendingCell(createCellProps) {
|
|
@@ -26,6 +29,12 @@ function createSuspendingCell(createCellProps) {
|
|
|
26
29
|
Success,
|
|
27
30
|
displayName = "Cell"
|
|
28
31
|
} = createCellProps;
|
|
32
|
+
if (!QUERY) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
`Can't create a Cell (${displayName}) without a QUERY or FRAGMENT export`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
const cellQuery = QUERY;
|
|
29
38
|
function SuspendingSuccess(props) {
|
|
30
39
|
const { queryRef, suspenseQueryResult, userProps } = props;
|
|
31
40
|
const { data, networkStatus } = useReadQuery(queryRef);
|
|
@@ -57,7 +66,7 @@ function createSuspendingCell(createCellProps) {
|
|
|
57
66
|
return (props) => {
|
|
58
67
|
const { children: _, ...variables } = props;
|
|
59
68
|
const options = beforeQuery(variables);
|
|
60
|
-
const query = typeof
|
|
69
|
+
const query = typeof cellQuery === "function" ? cellQuery(options) : cellQuery;
|
|
61
70
|
const [queryRef, other] = useBackgroundQuery(query, options);
|
|
62
71
|
const client = useApolloClient();
|
|
63
72
|
const suspenseQueryResult = {
|
|
@@ -10,21 +10,5 @@ declare global {
|
|
|
10
10
|
RWJS_API_URL: string;
|
|
11
11
|
__REDWOOD__APP_TITLE: string;
|
|
12
12
|
}
|
|
13
|
-
type GraphQLOperationVariables = Record<string, any>;
|
|
14
|
-
interface QueryOperationResult<TData = any, TVariables = GraphQLOperationVariables> {
|
|
15
|
-
data: TData | undefined;
|
|
16
|
-
loading: boolean;
|
|
17
|
-
}
|
|
18
|
-
interface MutationOperationResult<TData, TVariables> {
|
|
19
|
-
}
|
|
20
|
-
interface GraphQLQueryHookOptions<TData, TVariables> {
|
|
21
|
-
variables?: TVariables;
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
}
|
|
24
|
-
export interface GraphQLMutationHookOptions<TData, TVariables> {
|
|
25
|
-
variables?: TVariables;
|
|
26
|
-
onCompleted?: (data: TData) => void;
|
|
27
|
-
[key: string]: any;
|
|
28
|
-
}
|
|
29
13
|
}
|
|
30
14
|
//# sourceMappingURL=global.web-auto-imports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.web-auto-imports.d.ts","sourceRoot":"","sources":["../src/global.web-auto-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAA;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,OAAO,CAAC,MAAM,CAAC;IAMb,MAAM,GAAG,EAAE,CACT,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,MAAM,EAAE,EACzD,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,YAAY,CAAA;IAIjB,KAAK,KAAK,GAAG,OAAO,MAAM,CAAA;IAE1B,UAAU,MAAM;QACd,8DAA8D;QAC9D,oBAAoB,EAAE,MAAM,CAAA;QAC5B,mDAAmD;QACnD,YAAY,EAAE,MAAM,CAAA;QACpB,oBAAoB,EAAE,MAAM,CAAA;KAC7B;
|
|
1
|
+
{"version":3,"file":"global.web-auto-imports.d.ts","sourceRoot":"","sources":["../src/global.web-auto-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,OAAO,CAAA;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,OAAO,CAAC,MAAM,CAAC;IAMb,MAAM,GAAG,EAAE,CACT,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,MAAM,EAAE,EACzD,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,YAAY,CAAA;IAIjB,KAAK,KAAK,GAAG,OAAO,MAAM,CAAA;IAE1B,UAAU,MAAM;QACd,8DAA8D;QAC9D,oBAAoB,EAAE,MAAM,CAAA;QAC5B,mDAAmD;QACnD,YAAY,EAAE,MAAM,CAAA;QACpB,oBAAoB,EAAE,MAAM,CAAA;KAC7B;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ import './global.web-auto-imports.js';
|
|
|
2
2
|
import './config.js';
|
|
3
3
|
export { FatalErrorBoundary } from './components/FatalErrorBoundary.js';
|
|
4
4
|
export { FetchConfigProvider, useFetchConfig, } from './components/FetchConfigProvider.js';
|
|
5
|
-
export {
|
|
5
|
+
export { useQuery, useMutation, useSubscription, } from '@apollo/client/react/hooks/hooks.cjs';
|
|
6
|
+
export { useFragment } from './apollo/fragmentRegistry.js';
|
|
7
|
+
export type { FragmentHookOptions, FragmentHookResult, } from './apollo/fragmentRegistry.js';
|
|
6
8
|
export * from './components/cell/CellCacheContext.js';
|
|
7
9
|
export { createCell } from './components/cell/createCell.js';
|
|
10
|
+
export { createFragmentCell } from './components/cell/createFragmentCell.js';
|
|
8
11
|
export type { CellProps, CellFailureProps, CellLoadingProps, CellSuccessProps, CellSuccessData, } from './components/cell/cellTypes.js';
|
|
9
12
|
export * from './graphql.js';
|
|
10
13
|
export * from './components/RedwoodProvider.js';
|
|
@@ -15,5 +18,5 @@ export { Helmet as Head, Helmet };
|
|
|
15
18
|
export * from './components/htmlTags.js';
|
|
16
19
|
export * from './routeHooks.types.js';
|
|
17
20
|
export * from './components/ServerInject.js';
|
|
18
|
-
export type { TypedDocumentNode } from '
|
|
21
|
+
export type { TypedDocumentNode } from '@apollo/client';
|
|
19
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,YAAY,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AAErC,cAAc,uCAAuC,CAAA;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAE5E,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gCAAgC,CAAA;AAEvC,cAAc,cAAc,CAAA;AAE5B,cAAc,iCAAiC,CAAA;AAE/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,CAAA;AAEjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,8BAA8B,CAAA;AAE5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -6,13 +6,14 @@ import {
|
|
|
6
6
|
useFetchConfig
|
|
7
7
|
} from "./components/FetchConfigProvider.js";
|
|
8
8
|
import {
|
|
9
|
-
GraphQLHooksProvider,
|
|
10
9
|
useQuery,
|
|
11
10
|
useMutation,
|
|
12
11
|
useSubscription
|
|
13
|
-
} from "
|
|
12
|
+
} from "@apollo/client/react/hooks/hooks.cjs";
|
|
13
|
+
import { useFragment } from "./apollo/fragmentRegistry.js";
|
|
14
14
|
export * from "./components/cell/CellCacheContext.js";
|
|
15
15
|
import { createCell } from "./components/cell/createCell.js";
|
|
16
|
+
import { createFragmentCell } from "./components/cell/createFragmentCell.js";
|
|
16
17
|
export * from "./graphql.js";
|
|
17
18
|
export * from "./components/RedwoodProvider.js";
|
|
18
19
|
export * from "./components/MetaTags.js";
|
|
@@ -24,11 +25,12 @@ export * from "./components/ServerInject.js";
|
|
|
24
25
|
export {
|
|
25
26
|
FatalErrorBoundary,
|
|
26
27
|
FetchConfigProvider,
|
|
27
|
-
GraphQLHooksProvider,
|
|
28
28
|
Helmet as Head,
|
|
29
29
|
Helmet,
|
|
30
30
|
createCell,
|
|
31
|
+
createFragmentCell,
|
|
31
32
|
useFetchConfig,
|
|
33
|
+
useFragment,
|
|
32
34
|
useMutation,
|
|
33
35
|
useQuery,
|
|
34
36
|
useSubscription
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/web",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.4-next.167",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -10,116 +10,57 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
"default": "./dist/index.js"
|
|
16
|
-
},
|
|
17
|
-
"require": {
|
|
18
|
-
"types": "./dist/cjs/index.d.ts",
|
|
19
|
-
"default": "./dist/cjs/index.js"
|
|
20
|
-
}
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
21
15
|
},
|
|
22
16
|
"./serverInject": {
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"default": "./dist/components/ServerInject.js"
|
|
26
|
-
},
|
|
27
|
-
"require": {
|
|
28
|
-
"types": "./dist/cjs/components/ServerInject.d.ts",
|
|
29
|
-
"default": "./dist/cjs/components/ServerInject.js"
|
|
30
|
-
}
|
|
17
|
+
"types": "./dist/components/ServerInject.d.ts",
|
|
18
|
+
"default": "./dist/components/ServerInject.js"
|
|
31
19
|
},
|
|
32
20
|
"./request": {
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
"default": "./dist/server/request.js"
|
|
36
|
-
},
|
|
37
|
-
"require": {
|
|
38
|
-
"types": "./dist/cjs/server/request.d.ts",
|
|
39
|
-
"default": "./dist/cjs/server/request.js"
|
|
40
|
-
}
|
|
21
|
+
"types": "./dist/server/request.d.ts",
|
|
22
|
+
"default": "./dist/server/request.js"
|
|
41
23
|
},
|
|
42
24
|
"./middleware": {
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
"default": "./dist/server/middleware.js"
|
|
46
|
-
},
|
|
47
|
-
"require": {
|
|
48
|
-
"types": "./dist/cjs/server/middleware.d.ts",
|
|
49
|
-
"default": "./dist/cjs/server/middleware.js"
|
|
50
|
-
}
|
|
25
|
+
"types": "./dist/server/middleware.d.ts",
|
|
26
|
+
"default": "./dist/server/middleware.js"
|
|
51
27
|
},
|
|
52
28
|
"./dist/server/middleware": {
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
"default": "./dist/server/middleware.js"
|
|
56
|
-
},
|
|
57
|
-
"require": {
|
|
58
|
-
"types": "./dist/cjs/server/middleware.d.ts",
|
|
59
|
-
"default": "./dist/cjs/server/middleware.js"
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"./dist/components/*": {
|
|
63
|
-
"require": "./dist/cjs/components/*.js",
|
|
64
|
-
"import": "./dist/components/*.js"
|
|
65
|
-
},
|
|
66
|
-
"./htmlTags": {
|
|
67
|
-
"require": "./dist/cjs/components/htmlTags.js",
|
|
68
|
-
"import": "./dist/components/htmlTags.js"
|
|
69
|
-
},
|
|
70
|
-
"./Metadata": {
|
|
71
|
-
"require": "./dist/cjs/components/Metadata.js",
|
|
72
|
-
"import": "./dist/components/Metadata.js"
|
|
73
|
-
},
|
|
74
|
-
"./dist/apollo/suspense": {
|
|
75
|
-
"require": "./dist/cjs/apollo/suspense.js",
|
|
76
|
-
"import": "./dist/apollo/suspense.js"
|
|
77
|
-
},
|
|
78
|
-
"./dist/apollo/sseLink": {
|
|
79
|
-
"require": "./dist/cjs/apollo/sseLink.js",
|
|
80
|
-
"import": "./dist/apollo/sseLink.js"
|
|
81
|
-
},
|
|
82
|
-
"./dist/graphql.js": {
|
|
83
|
-
"require": "./dist/cjs/graphql.js",
|
|
84
|
-
"import": "./dist/graphql.js"
|
|
29
|
+
"types": "./dist/server/middleware.d.ts",
|
|
30
|
+
"default": "./dist/server/middleware.js"
|
|
85
31
|
},
|
|
32
|
+
"./dist/components/*": "./dist/components/*.js",
|
|
33
|
+
"./htmlTags": "./dist/components/htmlTags.js",
|
|
34
|
+
"./Metadata": "./dist/components/Metadata.js",
|
|
35
|
+
"./dist/apollo/suspense": "./dist/apollo/suspense.js",
|
|
36
|
+
"./dist/apollo/sseLink": "./dist/apollo/sseLink.js",
|
|
37
|
+
"./dist/graphql.js": "./dist/graphql.js",
|
|
86
38
|
"./toast": {
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
"default": "./dist/toast/index.js"
|
|
90
|
-
},
|
|
91
|
-
"require": {
|
|
92
|
-
"types": "./dist/cjs/toast/index.d.ts",
|
|
93
|
-
"default": "./dist/cjs/toast/index.js"
|
|
94
|
-
}
|
|
39
|
+
"types": "./dist/toast/index.d.ts",
|
|
40
|
+
"default": "./dist/toast/index.js"
|
|
95
41
|
},
|
|
96
42
|
"./apollo": {
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
"
|
|
102
|
-
|
|
103
|
-
"default": "./dist/cjs/apollo/index.js"
|
|
104
|
-
}
|
|
43
|
+
"types": "./dist/apollo/index.d.ts",
|
|
44
|
+
"default": "./dist/apollo/index.js"
|
|
45
|
+
},
|
|
46
|
+
"./apollo/CedarApolloProvider": {
|
|
47
|
+
"types": "./dist/apollo/CedarApolloProvider.d.ts",
|
|
48
|
+
"default": "./dist/apollo/CedarApolloProvider.js"
|
|
105
49
|
},
|
|
106
|
-
"./forceEsmApollo":
|
|
107
|
-
"require": "./dist/apollo/index.js",
|
|
108
|
-
"import": "./dist/apollo/index.js"
|
|
109
|
-
}
|
|
50
|
+
"./forceEsmApollo": "./dist/apollo/index.js"
|
|
110
51
|
},
|
|
111
52
|
"main": "./dist/index.js",
|
|
112
53
|
"types": "dist/index.d.ts",
|
|
113
54
|
"bin": {
|
|
114
|
-
"cedar": "./dist/
|
|
115
|
-
"cedarjs": "./dist/
|
|
116
|
-
"cfw": "./dist/
|
|
117
|
-
"cross-env": "./dist/
|
|
118
|
-
"msw": "./dist/
|
|
119
|
-
"redwood": "./dist/
|
|
120
|
-
"rw": "./dist/
|
|
121
|
-
"storybook": "./dist/
|
|
122
|
-
"tsc": "./dist/
|
|
55
|
+
"cedar": "./dist/bins/cedar.js",
|
|
56
|
+
"cedarjs": "./dist/bins/cedar.js",
|
|
57
|
+
"cfw": "./dist/bins/cfw.js",
|
|
58
|
+
"cross-env": "./dist/bins/cross-env.js",
|
|
59
|
+
"msw": "./dist/bins/msw.js",
|
|
60
|
+
"redwood": "./dist/bins/redwood.js",
|
|
61
|
+
"rw": "./dist/bins/redwood.js",
|
|
62
|
+
"storybook": "./dist/bins/storybook.js",
|
|
63
|
+
"tsc": "./dist/bins/tsc.js"
|
|
123
64
|
},
|
|
124
65
|
"files": [
|
|
125
66
|
"dist",
|
|
@@ -127,11 +68,11 @@
|
|
|
127
68
|
"toast"
|
|
128
69
|
],
|
|
129
70
|
"scripts": {
|
|
130
|
-
"build": "node ./build.ts
|
|
71
|
+
"build": "node ./build.ts",
|
|
131
72
|
"build:pack": "yarn pack -o cedarjs-web.tgz",
|
|
132
|
-
"build:types": "tsc --build --verbose ./tsconfig.build.json
|
|
73
|
+
"build:types": "tsc --build --verbose ./tsconfig.build.json",
|
|
133
74
|
"build:watch": "nodemon --watch src --ext \"js,jsx,ts,tsx\" --ignore dist --exec \"yarn build\"",
|
|
134
|
-
"check:attw": "
|
|
75
|
+
"check:attw": "yarn cedar-fwtools-attw",
|
|
135
76
|
"check:package": "concurrently npm:check:attw yarn:publint",
|
|
136
77
|
"prepublishOnly": "NODE_ENV=production yarn build",
|
|
137
78
|
"test": "vitest run",
|
|
@@ -140,7 +81,7 @@
|
|
|
140
81
|
},
|
|
141
82
|
"dependencies": {
|
|
142
83
|
"@apollo/client": "3.14.1",
|
|
143
|
-
"@cedarjs/server-store": "5.0.
|
|
84
|
+
"@cedarjs/server-store": "5.0.4-next.167",
|
|
144
85
|
"@dr.pogodin/react-helmet": "2.0.4",
|
|
145
86
|
"@whatwg-node/fetch": "0.10.13",
|
|
146
87
|
"apollo-upload-client": "18.0.1",
|
|
@@ -154,31 +95,32 @@
|
|
|
154
95
|
},
|
|
155
96
|
"devDependencies": {
|
|
156
97
|
"@apollo/client-react-streaming": "0.12.3",
|
|
157
|
-
"@arethetypeswrong/cli": "0.18.
|
|
98
|
+
"@arethetypeswrong/cli": "0.18.5",
|
|
158
99
|
"@babel/cli": "7.29.7",
|
|
159
100
|
"@babel/core": "^7.26.10",
|
|
160
101
|
"@babel/plugin-transform-runtime": "7.29.7",
|
|
161
102
|
"@babel/runtime": "7.29.7",
|
|
162
|
-
"@cedarjs/auth": "5.0.
|
|
163
|
-
"@cedarjs/framework-tools": "5.0.
|
|
164
|
-
"@cedarjs/internal": "5.0.
|
|
103
|
+
"@cedarjs/auth": "5.0.4-next.167",
|
|
104
|
+
"@cedarjs/framework-tools": "5.0.4-next.167",
|
|
105
|
+
"@cedarjs/internal": "5.0.4-next.167",
|
|
165
106
|
"@rollup/plugin-babel": "6.1.0",
|
|
107
|
+
"@testing-library/dom": "10.4.1",
|
|
166
108
|
"@testing-library/jest-dom": "6.9.1",
|
|
167
|
-
"@testing-library/react": "
|
|
109
|
+
"@testing-library/react": "16.3.2",
|
|
168
110
|
"@types/apollo-upload-client": "^18",
|
|
169
111
|
"@types/react": "^18.2.55",
|
|
170
112
|
"@types/react-dom": "^18.2.19",
|
|
171
113
|
"concurrently": "9.2.4",
|
|
172
114
|
"nodemon": "3.1.14",
|
|
173
|
-
"publint": "0.3.
|
|
115
|
+
"publint": "0.3.22",
|
|
174
116
|
"react": "18.3.1",
|
|
175
117
|
"react-dom": "18.3.1",
|
|
176
118
|
"tstyche": "5.0.2",
|
|
177
119
|
"typescript": "5.9.3",
|
|
178
|
-
"vitest": "
|
|
120
|
+
"vitest": "4.1.10"
|
|
179
121
|
},
|
|
180
122
|
"peerDependencies": {
|
|
181
|
-
"@cedarjs/auth": "5.0.
|
|
123
|
+
"@cedarjs/auth": "5.0.4-next.167",
|
|
182
124
|
"react": "18.3.1",
|
|
183
125
|
"react-dom": "18.3.1"
|
|
184
126
|
},
|