@teambit/graphql 0.0.849 → 0.0.852
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/render-lifecycle.js +17 -1
- package/dist/render-lifecycle.js.map +1 -1
- package/package-tar/teambit-graphql-0.0.852.tgz +0 -0
- package/package.json +4 -4
- package/{preview-1662892819691.js → preview-1663069999927.js} +4 -2
- package/render-lifecycle.tsx +6 -2
- package/package-tar/teambit-graphql-0.0.849.tgz +0 -0
package/dist/render-lifecycle.js
CHANGED
|
@@ -39,6 +39,16 @@ function _ssr() {
|
|
|
39
39
|
return data;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
function _server() {
|
|
43
|
+
const data = _interopRequireDefault(require("react-dom/server"));
|
|
44
|
+
|
|
45
|
+
_server = function () {
|
|
46
|
+
return data;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
|
|
42
52
|
function _lodash() {
|
|
43
53
|
const data = _interopRequireDefault(require("lodash.pick"));
|
|
44
54
|
|
|
@@ -79,6 +89,9 @@ function _graphql() {
|
|
|
79
89
|
return data;
|
|
80
90
|
}
|
|
81
91
|
|
|
92
|
+
// Calling getMarkupFromTree instead of getDataFromTree so we can control the render function
|
|
93
|
+
// This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since
|
|
94
|
+
// webpack is not bundling the react-dom/server
|
|
82
95
|
const ALLOWED_HEADERS = ['cookie'];
|
|
83
96
|
|
|
84
97
|
class GraphqlRenderPlugins {
|
|
@@ -100,7 +113,10 @@ class GraphqlRenderPlugins {
|
|
|
100
113
|
return ctx;
|
|
101
114
|
});
|
|
102
115
|
(0, _defineProperty2().default)(this, "onBeforeRender", async (ctx, app) => {
|
|
103
|
-
await (0, _ssr().
|
|
116
|
+
await (0, _ssr().getMarkupFromTree)({
|
|
117
|
+
tree: app,
|
|
118
|
+
renderFunction: _server().default.renderToStaticMarkup
|
|
119
|
+
});
|
|
104
120
|
});
|
|
105
121
|
(0, _defineProperty2().default)(this, "serialize", ctx => {
|
|
106
122
|
const client = ctx === null || ctx === void 0 ? void 0 : ctx.client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ALLOWED_HEADERS","GraphqlRenderPlugins","constructor","graphqlUI","GraphqlAspect","id","browser","port","location","serverUrl","client","createSsrClient","headers","pick","ctx","app","
|
|
1
|
+
{"version":3,"names":["ALLOWED_HEADERS","GraphqlRenderPlugins","constructor","graphqlUI","GraphqlAspect","id","browser","port","location","serverUrl","client","createSsrClient","headers","pick","ctx","app","getMarkupFromTree","tree","renderFunction","ReactDOMServer","renderToStaticMarkup","undefined","json","JSON","stringify","extract","raw","state","parse","e","console","error","window","isInsecure","protocol","wsUrl","host","createClient","subscriptionUri","_client","renderCtx","children","TypeError","isBrowser","BrowserGqlProvider","ServerGqlProvider","getClient","browserInit"],"sources":["render-lifecycle.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n// Calling getMarkupFromTree instead of getDataFromTree so we can control the render function\n// This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since\n// webpack is not bundling the react-dom/server\nimport { getMarkupFromTree } from '@apollo/client/react/ssr';\nimport ReactDOMServer from 'react-dom/server';\nimport type { ApolloClient, NormalizedCacheObject } from '@apollo/client';\nimport pick from 'lodash.pick';\n\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport type { SSR } from '@teambit/ui';\n\nimport type { GraphqlUI, GraphQLClient } from './graphql.ui.runtime';\nimport { GraphQLProvider } from './graphql-provider';\nimport { GraphqlAspect } from './graphql.aspect';\n\ntype RenderContext = {\n client: GraphQLClient<any>;\n};\n\nconst ALLOWED_HEADERS = ['cookie'];\n\nexport class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { state?: NormalizedCacheObject }> {\n constructor(private graphqlUI: GraphqlUI) {}\n\n key = GraphqlAspect.id;\n\n serverInit = ({ browser }: SSR.SsrSession) => {\n const port = browser?.location.port || 3000;\n const serverUrl = `http://localhost:${port}/graphql`;\n\n const client = this.graphqlUI.createSsrClient({\n serverUrl,\n headers: pick(browser?.headers, ALLOWED_HEADERS),\n });\n\n const ctx: RenderContext = { client };\n return ctx;\n };\n\n /**\n * Eagerly and recursively execute all gql queries in the app.\n * Data will be available in gqlClient.extract()\n */\n onBeforeRender = async (ctx: RenderContext, app: ReactNode) => {\n await getMarkupFromTree({tree: app, renderFunction: ReactDOMServer.renderToStaticMarkup });\n };\n\n serialize = (ctx?: RenderContext) => {\n const client = ctx?.client;\n if (!client) return undefined;\n\n return {\n json: JSON.stringify(client.extract()),\n };\n };\n\n deserialize = (raw?: string) => {\n if (!raw) return { state: undefined };\n let state: NormalizedCacheObject | undefined;\n try {\n state = JSON.parse(raw);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error('[GraphQL] failed deserializing state from DOM', e);\n }\n\n return { state };\n };\n\n private _client: ApolloClient<NormalizedCacheObject> | undefined = undefined;\n\n browserInit = ({ state }: { state?: NormalizedCacheObject } = {}) => {\n const { location } = window;\n const isInsecure = location.protocol === 'http:';\n const wsUrl = `${isInsecure ? 'ws:' : 'wss:'}//${location.host}/subscriptions`;\n\n const client = this.graphqlUI.createClient('/graphql', { state, subscriptionUri: wsUrl });\n this._client = client;\n\n return { client };\n };\n\n getClient() {\n if (!this._client) return this.browserInit().client;\n return this._client;\n }\n\n private BrowserGqlProvider = ({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) => {\n if (!renderCtx?.client) throw new TypeError('GQL client is not initialized, make sure `.browserInit()` executes');\n\n return <this.graphqlUI.getProvider client={renderCtx?.client}>{children}</this.graphqlUI.getProvider>;\n };\n\n reactContext = isBrowser ? this.BrowserGqlProvider : ServerGqlProvider;\n}\n\nfunction ServerGqlProvider({ renderCtx, children }: { renderCtx?: RenderContext; children: ReactNode }) {\n if (!renderCtx?.client)\n throw new TypeError('GQL client has not been initialized during SSR, make sure `.serverInit()` executes');\n\n const { client } = renderCtx;\n return <GraphQLProvider client={client}>{children}</GraphQLProvider>;\n}\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/graphql",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.852",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/harmony/graphql",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "graphql",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.852"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@graphql-modules/core": "0.7.17",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@teambit/cli": "0.0.566",
|
|
36
36
|
"@teambit/logger": "0.0.659",
|
|
37
37
|
"@teambit/toolbox.network.get-port": "0.0.119",
|
|
38
|
-
"@teambit/ui": "0.0.
|
|
38
|
+
"@teambit/ui": "0.0.852",
|
|
39
39
|
"@teambit/ui-foundation.ui.is-browser": "0.0.492"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"@types/cors": "2.8.10",
|
|
44
44
|
"@types/express": "4.17.13",
|
|
45
45
|
"@types/lodash.pick": "4.4.6",
|
|
46
|
+
"@types/react-dom": "^17.0.5",
|
|
46
47
|
"@types/node-fetch": "2.5.12",
|
|
47
48
|
"@types/mocha": "9.1.0",
|
|
48
49
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
49
50
|
"@types/jest": "^26.0.0",
|
|
50
|
-
"@types/react-dom": "^17.0.5",
|
|
51
51
|
"@types/node": "12.20.4"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.852/dist/graphql.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.harmony_graphql@0.0.852/dist/graphql.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
6
|
+
|
|
7
|
+
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|
package/render-lifecycle.tsx
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
// Calling getMarkupFromTree instead of getDataFromTree so we can control the render function
|
|
3
|
+
// This is required since upgrade to @apollo/client v3.6.9 because otherwise the ssr is not working since
|
|
4
|
+
// webpack is not bundling the react-dom/server
|
|
5
|
+
import { getMarkupFromTree } from '@apollo/client/react/ssr';
|
|
6
|
+
import ReactDOMServer from 'react-dom/server';
|
|
3
7
|
import type { ApolloClient, NormalizedCacheObject } from '@apollo/client';
|
|
4
8
|
import pick from 'lodash.pick';
|
|
5
9
|
|
|
@@ -39,7 +43,7 @@ export class GraphqlRenderPlugins implements SSR.RenderPlugin<RenderContext, { s
|
|
|
39
43
|
* Data will be available in gqlClient.extract()
|
|
40
44
|
*/
|
|
41
45
|
onBeforeRender = async (ctx: RenderContext, app: ReactNode) => {
|
|
42
|
-
await
|
|
46
|
+
await getMarkupFromTree({tree: app, renderFunction: ReactDOMServer.renderToStaticMarkup });
|
|
43
47
|
};
|
|
44
48
|
|
|
45
49
|
serialize = (ctx?: RenderContext) => {
|
|
Binary file
|