@joystick.js/node-canary 0.0.0-canary.373 → 0.0.0-canary.375
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/app/ssr/index.js +3 -3
- package/package.json +1 -1
- package/src/app/ssr/index.js +5 -2
package/dist/app/ssr/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import u from"fs";import{parseHTML as p}from"linkedom";import y from"../api/get_api_for_data_functions.js";import $ from"../../lib/get_browser_safe_request.js";import h from"../settings/load.js";import b from"./set_base_attributes_in_html.js";import w from"./set_head_tags_in_html.js";import i from"../../lib/path_exists.js";import f from"../accounts/get_browser_safe_user.js";const{readFile:a}=u.promises,r=h(),s=process.env.NODE_ENV==="development"
|
|
1
|
+
import u from"fs";import{parseHTML as p}from"linkedom";import y from"../api/get_api_for_data_functions.js";import $ from"../../lib/get_browser_safe_request.js";import h from"../settings/load.js";import b from"./set_base_attributes_in_html.js";import w from"./set_head_tags_in_html.js";import i from"../../lib/path_exists.js";import f from"../accounts/get_browser_safe_user.js";const{readFile:a}=u.promises,r=h(),s=process.env.NODE_ENV==="development",{document:g}=p("<div></div>"),j=(e={})=>e?.base_html.replace("${css}",`<style type="text/css" js-css>${e?.css}</style>`).replace('<div id="app"></div>',`
|
|
2
2
|
<div id="app">${e?.html}</div>
|
|
3
3
|
<script>
|
|
4
4
|
window.joystick = {
|
|
@@ -26,7 +26,7 @@ import u from"fs";import{parseHTML as p}from"linkedom";import y from"../api/get_
|
|
|
26
26
|
${e?.render_component_path?`<script type="module" src="/_joystick/${e?.render_component_path}"></script>`:""}
|
|
27
27
|
${e?.render_layout_path?`<script type="module" src="/_joystick/${e?.render_layout_path}"></script>`:""}
|
|
28
28
|
${s?'<script type="module" src="/_joystick/hmr/client.js"></script>':""}
|
|
29
|
-
`),
|
|
29
|
+
`),k=(e={})=>e?.base_html.replace("${css}",`<style type="text/css">${e?.css}</style>`).replace("${subject}",e?.email_options?.subject).replace("${preheader}",e?.email_options?.preheader||"").replace('<div id="email"></div>',`<div id="email">${e?.html}</div>`),v=(e={})=>e?.is_email?k(e):j(e),N=async(e="")=>await i(`email/${e?`base_${e}`:"base"}.html`)?a(`email/${e?`base_${e}`:"base"}.html`,"utf-8"):(console.warn(`Could not find email/${e?`base_${e}`:"base"}.html`),""),O=async(e="")=>await i(`email/${e?`base_${e}`:"base"}.css`)?a(`email/${e?`base_${e}`:"base"}.css`,"utf-8"):(console.warn(`Could not find email/${e?`base_${e}`:"base"}.css`),""),q=(e=null,t={})=>e(t),J=async(e={})=>{const t=q(e?.component_to_render,e?.component_options),c=y(e?.req,e?.api_schema),l=[],_=await t.render_for_ssr(c,e?.req,l,{linkedom_document:g,is_email:e?.is_email}),n=e?.is_email?await O(e?.email_options?.base_html_name):null,o=e?.is_email?await N(e?.email_options?.base_html_name):null,m=v({is_email:e?.is_email,attributes:e?.attributes,base_html:e?.is_email?o:e?.base_html,component_instance:t,css:e?.is_email?`
|
|
30
30
|
${n}
|
|
31
31
|
${_?.css}
|
|
32
|
-
`:_?.css,data:_?.data,email_options:e?.email_options,head:e?.head,html:_?.html,props:e?.component_options?.props,render_component_path:e?.render_component_path,render_layout_path:e?.render_layout_path,req:e?.req,translations:e?.component_options?.translations,url:e?.component_options?.url}),d=w(m,e?.head,e?.req);return b(d,e?.attributes)};var
|
|
32
|
+
`:_?.css,data:_?.data,email_options:e?.email_options,head:e?.head,html:_?.html,props:e?.component_options?.props,render_component_path:e?.render_component_path,render_layout_path:e?.render_layout_path,req:e?.req,translations:e?.component_options?.translations,url:e?.component_options?.url}),d=w(m,e?.head,e?.req);return b(d,e?.attributes)};var M=J;export{M as default};
|
package/package.json
CHANGED
package/src/app/ssr/index.js
CHANGED
|
@@ -14,7 +14,7 @@ const is_development = process.env.NODE_ENV === 'development';
|
|
|
14
14
|
|
|
15
15
|
// NOTE: Set a global document so we have access to a pseudo-DOM in @joystick.js/ui
|
|
16
16
|
// when server-side rendering.
|
|
17
|
-
document = parseHTML('<div></div>');
|
|
17
|
+
const { document: linkedom_document } = parseHTML('<div></div>');
|
|
18
18
|
|
|
19
19
|
const build_html_response_for_browser = (options = {}) => {
|
|
20
20
|
return options?.base_html
|
|
@@ -93,7 +93,10 @@ const ssr = async (ssr_options = {}) => {
|
|
|
93
93
|
const component_instance = get_component_instance(ssr_options?.component_to_render, ssr_options?.component_options);
|
|
94
94
|
const api = get_api_for_data_functions(ssr_options?.req, ssr_options?.api_schema);
|
|
95
95
|
const ssr_tree = [];
|
|
96
|
-
const ssr_render = await component_instance.render_for_ssr(api, ssr_options?.req, ssr_tree, {
|
|
96
|
+
const ssr_render = await component_instance.render_for_ssr(api, ssr_options?.req, ssr_tree, {
|
|
97
|
+
linkedom_document,
|
|
98
|
+
is_email: ssr_options?.is_email
|
|
99
|
+
});
|
|
97
100
|
const email_base_css = ssr_options?.is_email ? await get_base_css_for_email(ssr_options?.email_options?.base_html_name) : null;
|
|
98
101
|
const email_base_html = ssr_options?.is_email ? await get_base_html_for_email(ssr_options?.email_options?.base_html_name) : null;
|
|
99
102
|
|