one 1.2.51 → 1.2.52
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/cjs/constants.cjs +3 -2
- package/dist/cjs/constants.js +3 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +4 -3
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +2 -1
- package/dist/cjs/createApp.js +3 -3
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.cjs +3 -2
- package/dist/cjs/server/ServerContextScript.js +3 -3
- package/dist/cjs/server/ServerContextScript.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.native.js +3 -2
- package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
- package/dist/cjs/utils/htmlEscape.cjs +45 -0
- package/dist/cjs/utils/htmlEscape.js +39 -0
- package/dist/cjs/utils/htmlEscape.js.map +6 -0
- package/dist/cjs/utils/htmlEscape.native.js +49 -0
- package/dist/cjs/utils/htmlEscape.native.js.map +1 -0
- package/dist/esm/constants.js +3 -2
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs +3 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +3 -2
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createApp.js +3 -2
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +2 -1
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/server/ServerContextScript.js +3 -2
- package/dist/esm/server/ServerContextScript.js.map +1 -1
- package/dist/esm/server/ServerContextScript.mjs +3 -2
- package/dist/esm/server/ServerContextScript.mjs.map +1 -1
- package/dist/esm/server/ServerContextScript.native.js +3 -2
- package/dist/esm/server/ServerContextScript.native.js.map +1 -1
- package/dist/esm/utils/htmlEscape.js +23 -0
- package/dist/esm/utils/htmlEscape.js.map +6 -0
- package/dist/esm/utils/htmlEscape.mjs +21 -0
- package/dist/esm/utils/htmlEscape.mjs.map +1 -0
- package/dist/esm/utils/htmlEscape.native.js +22 -0
- package/dist/esm/utils/htmlEscape.native.js.map +1 -0
- package/package.json +9 -9
- package/src/constants.ts +3 -2
- package/src/createApp.tsx +3 -2
- package/src/server/ServerContextScript.tsx +3 -2
- package/src/utils/htmlEscape.ts +35 -0
- package/types/constants.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/server/ServerContextScript.d.ts.map +1 -1
- package/types/utils/htmlEscape.d.ts +17 -0
- package/types/utils/htmlEscape.d.ts.map +1 -0
package/dist/cjs/constants.cjs
CHANGED
|
@@ -36,6 +36,7 @@ __export(constants_exports, {
|
|
|
36
36
|
isWebServer: () => isWebServer
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(constants_exports);
|
|
39
|
+
var import_htmlEscape = require("./utils/htmlEscape.cjs");
|
|
39
40
|
const isWebClient = typeof window < "u",
|
|
40
41
|
isWebServer = typeof window > "u",
|
|
41
42
|
isNative = !1,
|
|
@@ -54,6 +55,6 @@ const isWebClient = typeof window < "u",
|
|
|
54
55
|
} = {}) => `
|
|
55
56
|
<script>globalThis['global'] = globalThis</script>
|
|
56
57
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
57
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
58
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
58
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)(serverContext)}</script>
|
|
59
|
+
<script>globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(serverContext.css || [])})</script>
|
|
59
60
|
`;
|
package/dist/cjs/constants.js
CHANGED
|
@@ -30,12 +30,13 @@ __export(constants_exports, {
|
|
|
30
30
|
isWebServer: () => isWebServer
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(constants_exports);
|
|
33
|
+
var import_htmlEscape = require("./utils/htmlEscape");
|
|
33
34
|
const isWebClient = typeof window < "u", isWebServer = typeof window > "u", isNative = !1, CACHE_KEY = `${process.env.ONE_CACHE_KEY ?? Math.round(Math.random() * 1e8)}`, LOADER_JS_POSTFIX_UNCACHED = "_vxrn_loader.js", LOADER_JS_POSTFIX_REGEX_STRING = `_\\d+${LOADER_JS_POSTFIX_UNCACHED}$`, LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING), LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`, PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`, CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`, VIRTUAL_SSR_CSS_ENTRY = "virtual:ssr-css.css", VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`, SERVER_CONTEXT_KEY = "__one_server_context__", getSpaHeaderElements = ({
|
|
34
35
|
serverContext = {}
|
|
35
36
|
} = {}) => `
|
|
36
37
|
<script>globalThis['global'] = globalThis</script>
|
|
37
38
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
38
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
39
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
39
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)(serverContext)}</script>
|
|
40
|
+
<script>globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(serverContext.css || [])})</script>
|
|
40
41
|
`;
|
|
41
42
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/constants.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAkC;AAG3B,MAAM,cACgC,OAAO,SAAW,KAClD,cACgC,OAAO,SAAW,KAClD,WAAW,IAEX,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAW,CAAC,IAEnF,6BAA6B,mBAC7B,iCAAiC,QAAQ,0BAA0B,KACnE,0BAA0B,IAAI,OAAO,8BAA8B,GACnE,oBAAoB,IAAI,SAAS,GAAG,0BAA0B,IAE9D,qBAAqB,IAAI,SAAS,eAClC,yBAAyB,IAAI,SAAS,mBAGtC,wBAAwB,uBACxB,uBAAuB,eAAe,qBAAqB,IAE3D,qBAAqB,0BAErB,uBAAuB,CAAC;AAAA,EACnC,gBAAgB,CAAC;AACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGa,kBAAkB,YAAQ,qCAAkB,aAAa,CAAC;AAAA,oDAClC,qCAAkB,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -38,7 +38,8 @@ __export(constants_exports, {
|
|
|
38
38
|
isWebServer: () => isWebServer
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(constants_exports);
|
|
41
|
-
var
|
|
41
|
+
var import_htmlEscape = require("./utils/htmlEscape.native.js"),
|
|
42
|
+
isWebClient = !1,
|
|
42
43
|
isWebServer = !1,
|
|
43
44
|
isNative = !0,
|
|
44
45
|
_process_env_ONE_CACHE_KEY,
|
|
@@ -59,8 +60,8 @@ var isWebClient = !1,
|
|
|
59
60
|
return `
|
|
60
61
|
<script>globalThis['global'] = globalThis</script>
|
|
61
62
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
62
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
63
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
63
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)(serverContext)}</script>
|
|
64
|
+
<script>globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(serverContext.css || [])})</script>
|
|
64
65
|
`;
|
|
65
66
|
};
|
|
66
67
|
//# sourceMappingURL=constants.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","CACHE_KEY","CSS_PRELOAD_JS_POSTFIX","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_UNCACHED","PRELOAD_JS_POSTFIX","SERVER_CONTEXT_KEY","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","getSpaHeaderElements","isNative","isWebClient","isWebServer","module","exports","_process_env_ONE_CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","RegExp","serverContext","arguments","length","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","CACHE_KEY","CSS_PRELOAD_JS_POSTFIX","LOADER_JS_POSTFIX","LOADER_JS_POSTFIX_REGEX","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_UNCACHED","PRELOAD_JS_POSTFIX","SERVER_CONTEXT_KEY","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","getSpaHeaderElements","isNative","isWebClient","isWebServer","module","exports","import_htmlEscape","require","_process_env_ONE_CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","RegExp","serverContext","arguments","length","safeJsonStringify","css"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,sBAAA,EAAAA,CAAA,KAAAA,sBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAA,0BAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAtB,YAAkC,CAAAK,iBAAA;AAG3B,IAAAkB,iBACsC,GAAAC,OAAO,+BACvC;EACgCL,WAAO,KAAW;EAAAC,WAClD,GAAW;EAEXF,QAAA,IAAY;EAAGO,0BAAY;EAAAlB,SAAsB,GAAM,IAAAkB,0BAEvD,GAAAC,OAAA,CAAAC,GAAA,CAAAC,aAA6B,cAC7BH,0BAAA,UAAiC,IAAAA,0BAAQ,GAA0BI,IACnE,CAAAC,KAAA,CAAAD,IAAA,CAAAE,MAAA,QAA0B,GAAI;EAAAnB,0BAAO,oBACrC;EAAAD,8BAAoC,WAAAC,0BAEpC;EAAAF,uBAAkC,OAAAsB,MAClC,CAAArB,8BAA6B;EAAAF,iBAAS,GAGtC,IAAAF,SAAA,GAAAK,0BAAwB;EAAAC,kBACxB,OAAuBN,SAAA,aAAe;EAAAC,sBAEtC,OAAAD,SAAqB;EAAAQ,qBAErB,wBAAwB;EAAAC,oBAAA,kBAAAD,qBAAA;EAAAD,kBAAA;EAAAG,oBAAA,YAAAA,CAAA;IACnC;MAAAgB,aAAiB;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACnB,OAEK;AAAM;AAAA;AAAA,wBAGapB,kBAAkB,YAAQS,iBAAA,CAAAa,iBAAA,EAAkBH,aAAa,CAAC;AAAA,oDAClCV,iBAAA,CAAAa,iBAAA,EAAkBH,aAAA,CAAcI,GAAA,IAAO,EAAE,CAAC;AAAA","ignoreList":[]}
|
package/dist/cjs/createApp.cjs
CHANGED
|
@@ -43,6 +43,7 @@ var import_setup = require("./setup.cjs"),
|
|
|
43
43
|
import_useViteRoutes = require("./router/useViteRoutes.cjs"),
|
|
44
44
|
import_useServerHeadInsertion = require("./useServerHeadInsertion.cjs"),
|
|
45
45
|
import_ensureExists = require("./utils/ensureExists.cjs"),
|
|
46
|
+
import_htmlEscape = require("./utils/htmlEscape.cjs"),
|
|
46
47
|
import_constants = require("./vite/constants.cjs"),
|
|
47
48
|
import_one_server_only = require("./vite/one-server-only.cjs"),
|
|
48
49
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -112,7 +113,7 @@ function createApp(options) {
|
|
|
112
113
|
if (!`${err}`.includes("sheet is not defined")) throw err;
|
|
113
114
|
}
|
|
114
115
|
const postRenderData = (0, import_one_server_only.getServerContext)()?.postRenderData;
|
|
115
|
-
return postRenderData && (html = html.replace(
|
|
116
|
+
return postRenderData && (html = html.replace((0, import_htmlEscape.safeJsonStringify)(import_constants.SERVER_CONTEXT_POST_RENDER_STRING), (0, import_htmlEscape.safeJsonStringify)(postRenderData))), html;
|
|
116
117
|
}
|
|
117
118
|
};
|
|
118
119
|
const serverContext = (0, import_one_server_only.getServerContext)() || {},
|
package/dist/cjs/createApp.js
CHANGED
|
@@ -25,7 +25,7 @@ __export(createApp_exports, {
|
|
|
25
25
|
createApp: () => createApp
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(createApp_exports);
|
|
28
|
-
var import_setup = require("./setup"), import_react = require("react"), import_react_native = require("react-native-web"), import_clientLoaderResolver = require("./clientLoaderResolver"), import_render = require("./render"), import_Root = require("./Root"), import_useViteRoutes = require("./router/useViteRoutes"), import_useServerHeadInsertion = require("./useServerHeadInsertion"), import_ensureExists = require("./utils/ensureExists"), import_constants = require("./vite/constants"), import_one_server_only = require("./vite/one-server-only"), import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var import_setup = require("./setup"), import_react = require("react"), import_react_native = require("react-native-web"), import_clientLoaderResolver = require("./clientLoaderResolver"), import_render = require("./render"), import_Root = require("./Root"), import_useViteRoutes = require("./router/useViteRoutes"), import_useServerHeadInsertion = require("./useServerHeadInsertion"), import_ensureExists = require("./utils/ensureExists"), import_htmlEscape = require("./utils/htmlEscape"), import_constants = require("./vite/constants"), import_one_server_only = require("./vite/one-server-only"), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
const import_meta = {};
|
|
30
30
|
function createApp(options) {
|
|
31
31
|
if (import_meta.env.SSR)
|
|
@@ -94,8 +94,8 @@ function createApp(options) {
|
|
|
94
94
|
}
|
|
95
95
|
const postRenderData = (0, import_one_server_only.getServerContext)()?.postRenderData;
|
|
96
96
|
return postRenderData && (html = html.replace(
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
(0, import_htmlEscape.safeJsonStringify)(import_constants.SERVER_CONTEXT_POST_RENDER_STRING),
|
|
98
|
+
(0, import_htmlEscape.safeJsonStringify)(postRenderData)
|
|
99
99
|
)), html;
|
|
100
100
|
}
|
|
101
101
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createApp.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAO,oBAEP,eAA6B,kBAC7B,sBAA4B,yBAC5B,8BAAoC,mCACpC,gBAAuB,qBACvB,cAAqB,mBACrB,uBAAuC,mCAEvC,gCAAwC,qCACxC,sBAA6B,iCAC7B,mBAAkD,6BAClD,yBAAmD,mCAiDvC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["routePreloads"]
|
|
6
6
|
}
|
|
@@ -24,6 +24,7 @@ __export(ServerContextScript_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(ServerContextScript_exports);
|
|
26
26
|
var import_constants = require("../constants.cjs"),
|
|
27
|
+
import_htmlEscape = require("../utils/htmlEscape.cjs"),
|
|
27
28
|
import_constants2 = require("../vite/constants.cjs"),
|
|
28
29
|
import_one_server_only = require("../vite/one-server-only.cjs"),
|
|
29
30
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -53,11 +54,11 @@ function ServerContextScript() {
|
|
|
53
54
|
suppressHydrationWarning: !0,
|
|
54
55
|
dangerouslySetInnerHTML: {
|
|
55
56
|
__html: `
|
|
56
|
-
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${
|
|
57
|
+
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)({
|
|
57
58
|
...clientContext,
|
|
58
59
|
postRenderData: import_constants2.SERVER_CONTEXT_POST_RENDER_STRING
|
|
59
60
|
})};
|
|
60
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
61
|
+
globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(cssUrls)});
|
|
61
62
|
`
|
|
62
63
|
}
|
|
63
64
|
});
|
|
@@ -17,7 +17,7 @@ __export(ServerContextScript_exports, {
|
|
|
17
17
|
ServerContextScript: () => ServerContextScript
|
|
18
18
|
});
|
|
19
19
|
module.exports = __toCommonJS(ServerContextScript_exports);
|
|
20
|
-
var import_constants = require("../constants"), import_constants2 = require("../vite/constants"), import_one_server_only = require("../vite/one-server-only"), import_jsx_runtime = require("react/jsx-runtime");
|
|
20
|
+
var import_constants = require("../constants"), import_htmlEscape = require("../utils/htmlEscape"), import_constants2 = require("../vite/constants"), import_one_server_only = require("../vite/one-server-only"), import_jsx_runtime = require("react/jsx-runtime");
|
|
21
21
|
function ServerContextScript() {
|
|
22
22
|
if (process.env.VITE_ENVIRONMENT === "client")
|
|
23
23
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -44,11 +44,11 @@ function ServerContextScript() {
|
|
|
44
44
|
suppressHydrationWarning: !0,
|
|
45
45
|
dangerouslySetInnerHTML: {
|
|
46
46
|
__html: `
|
|
47
|
-
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${
|
|
47
|
+
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)({
|
|
48
48
|
...clientContext,
|
|
49
49
|
postRenderData: import_constants2.SERVER_CONTEXT_POST_RENDER_STRING
|
|
50
50
|
})};
|
|
51
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
51
|
+
globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(cssUrls)});
|
|
52
52
|
`
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/server/ServerContextScript.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAmC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAmC,yBACnC,oBAAkC,gCAClCA,oBAAkD,8BAClD,yBAAiC,oCAK3B;AAHC,SAAS,sBAAsB;AACpC,MAAI,QAAQ,IAAI,qBAAqB;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF;AAIJ,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,cAAU,yCAAiB,GAC3B,UAAU,SAAS,OAAO,CAAC,GAM3B,EAAE,aAAa,GAAG,YAAY,IAAI,WAAW,CAAC,GAC9C,gBAAgB;AAAA,MACpB,GAAG;AAAA,MACH,gBAAgB,aAAa,UAAU;AAAA,IACzC;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,4BACU,mCAAkB,YAAQ,qCAAkB;AAAA,YACxD,GAAG;AAAA,YACH,gBAAgB;AAAA,UAClB,CAAC,CAAC;AAAA,wDACoC,qCAAkB,OAAO,CAAC;AAAA;AAAA,QAEtE;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": ["import_constants"]
|
|
6
6
|
}
|
|
@@ -27,6 +27,7 @@ __export(ServerContextScript_exports, {
|
|
|
27
27
|
module.exports = __toCommonJS(ServerContextScript_exports);
|
|
28
28
|
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
29
29
|
import_constants = require("../constants.native.js"),
|
|
30
|
+
import_htmlEscape = require("../utils/htmlEscape.native.js"),
|
|
30
31
|
import_constants2 = require("../vite/constants.native.js"),
|
|
31
32
|
import_one_server_only = require("../vite/one-server-only.native.js");
|
|
32
33
|
function ServerContextScript() {
|
|
@@ -57,11 +58,11 @@ function ServerContextScript() {
|
|
|
57
58
|
suppressHydrationWarning: !0,
|
|
58
59
|
dangerouslySetInnerHTML: {
|
|
59
60
|
__html: `
|
|
60
|
-
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${
|
|
61
|
+
globalThis["${import_constants.SERVER_CONTEXT_KEY}"] = ${(0, import_htmlEscape.safeJsonStringify)({
|
|
61
62
|
...clientContext,
|
|
62
63
|
postRenderData: import_constants2.SERVER_CONTEXT_POST_RENDER_STRING
|
|
63
64
|
})};
|
|
64
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
65
|
+
globalThis.__oneLoadedCSS = new Set(${(0, import_htmlEscape.safeJsonStringify)(cssUrls)});
|
|
65
66
|
`
|
|
66
67
|
}
|
|
67
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ServerContextScript_exports","__export","ServerContextScript","module","exports","import_jsx_runtime","require","import_constants","import_constants2","import_one_server_only","process","env","VITE_ENVIRONMENT","jsx","async","href","SERVER_CONTEXT_KEY","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","useServerContext","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","ServerContextScript_exports","__export","ServerContextScript","module","exports","import_jsx_runtime","require","import_constants","import_htmlEscape","import_constants2","import_one_server_only","process","env","VITE_ENVIRONMENT","jsx","async","href","SERVER_CONTEXT_KEY","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","useServerContext","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","safeJsonStringify","postRenderData","SERVER_CONTEXT_POST_RENDER_STRING"],"sources":["../../../src/server/ServerContextScript.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAmC,CAAAK,2BACnC;AAIO,IAAAK,kBAAS,GAAAC,OAAsB;EAAAC,gBAAA,GAAAD,OAAA;EAAAE,iBAAA,GAAAF,OAAA;EAAAG,iBAAA,GAAAH,OAAA;EAAAI,sBAAA,GAAAJ,OAAA;AACpC,SAAIJ,mBAAYA,CAAA;EACd,IAAAS,OACE,CAAAC,GAAA,CAAAC,gBAAA,sBAAC,mBAAAR,kBAAA,CAAAS,GAAA;IAAAC,KAAA;IAAA;IACMC,IAEL,EAAAT,gBAAM,CAAAU,kBAAA;IAAAC,wBACN,IAAwB;IAAAC,uBACxB;MAAyBC,MACvB;IAAQ;EACV;EAAA,IACFT,OAAA,CAAAC,GAAA,CAAAC,gBAAA;IAIJ,IAAIQ,OAAQ,GAAI,IAAAX,sBAAqB,CAAAY,gBAAO;MAAAC,OAAA,GAAAF,OAAA,EAAAG,GAAA;MAAA;QAAAC,WAAA;QAAA,GAAAC;MAAA,IAAAL,OAAA;MAAAM,aAAA;QAC1C,GAAAD,WAAM;QASJE,cAAG,EAAAH,WAAA,EAAAI,MAAA;MAAA;IAEL,0BAAAxB,kBAAA,CAAAS,GAAA;MAEAC,KACE;MAAC;MAAAC,IAAA,EAAAT,gBAAA,CAAAU,kBAAA;MAAAC,wBACM;MAAAC,uBAEC;QACNC,MAAA;AAAwB,4BACxBb,gBAAyB,CAAAU,kBAAA,YAAAT,iBAAA,CAAAsB,iBAAA;UACvB,GAAAH,aAAQ;UAAAI,cAAA,EAAAtB,iBACU,CAAAuB;QAA4C;AACrD,oDACa,IAAAxB,iBAAA,CAAAsB,iBAAA,EAAAP,OAAA;AAAA;MAChB;IAC8D;EAAA;EAEtE;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: !0
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
__copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
13
|
+
get: () => from[key],
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
21
|
+
var htmlEscape_exports = {};
|
|
22
|
+
__export(htmlEscape_exports, {
|
|
23
|
+
htmlEscapeJsonString: () => htmlEscapeJsonString,
|
|
24
|
+
safeJsonStringify: () => safeJsonStringify
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(htmlEscape_exports);
|
|
27
|
+
const ESCAPE_LOOKUP = {
|
|
28
|
+
"&": "\\u0026",
|
|
29
|
+
// &
|
|
30
|
+
"<": "\\u003c",
|
|
31
|
+
// <
|
|
32
|
+
">": "\\u003e",
|
|
33
|
+
// >
|
|
34
|
+
"\u2028": "\\u2028",
|
|
35
|
+
// Line separator
|
|
36
|
+
"\u2029": "\\u2029"
|
|
37
|
+
// Paragraph separator
|
|
38
|
+
},
|
|
39
|
+
ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
40
|
+
function htmlEscapeJsonString(str) {
|
|
41
|
+
return str.replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]);
|
|
42
|
+
}
|
|
43
|
+
function safeJsonStringify(value) {
|
|
44
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
45
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
8
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
15
|
+
var htmlEscape_exports = {};
|
|
16
|
+
__export(htmlEscape_exports, {
|
|
17
|
+
htmlEscapeJsonString: () => htmlEscapeJsonString,
|
|
18
|
+
safeJsonStringify: () => safeJsonStringify
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(htmlEscape_exports);
|
|
21
|
+
const ESCAPE_LOOKUP = {
|
|
22
|
+
"&": "\\u0026",
|
|
23
|
+
// &
|
|
24
|
+
"<": "\\u003c",
|
|
25
|
+
// <
|
|
26
|
+
">": "\\u003e",
|
|
27
|
+
// >
|
|
28
|
+
"\u2028": "\\u2028",
|
|
29
|
+
// Line separator
|
|
30
|
+
"\u2029": "\\u2029"
|
|
31
|
+
// Paragraph separator
|
|
32
|
+
}, ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
33
|
+
function htmlEscapeJsonString(str) {
|
|
34
|
+
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
|
|
35
|
+
}
|
|
36
|
+
function safeJsonStringify(value) {
|
|
37
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=htmlEscape.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/htmlEscape.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,gBAAwC;AAAA,EAC5C,KAAU;AAAA;AAAA,EACV,KAAU;AAAA;AAAA,EACV,KAAU;AAAA;AAAA,EACV,UAAU;AAAA;AAAA,EACV,UAAU;AAAA;AACZ,GAEM,eAAe;AAad,SAAS,qBAAqB,KAAqB;AACxD,SAAO,IAAI,QAAQ,cAAc,CAAC,UAAU,cAAc,KAAK,CAAC;AAClE;AAKO,SAAS,kBAAkB,OAAwB;AACxD,SAAO,qBAAqB,KAAK,UAAU,KAAK,CAAC;AACnD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var htmlEscape_exports = {};
|
|
24
|
+
__export(htmlEscape_exports, {
|
|
25
|
+
htmlEscapeJsonString: () => htmlEscapeJsonString,
|
|
26
|
+
safeJsonStringify: () => safeJsonStringify
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(htmlEscape_exports);
|
|
29
|
+
var ESCAPE_LOOKUP = {
|
|
30
|
+
"&": "\\u0026",
|
|
31
|
+
// &
|
|
32
|
+
"<": "\\u003c",
|
|
33
|
+
// <
|
|
34
|
+
">": "\\u003e",
|
|
35
|
+
// >
|
|
36
|
+
"\u2028": "\\u2028",
|
|
37
|
+
// Line separator
|
|
38
|
+
"\u2029": "\\u2029"
|
|
39
|
+
},
|
|
40
|
+
ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
41
|
+
function htmlEscapeJsonString(str) {
|
|
42
|
+
return str.replace(ESCAPE_REGEX, function (match) {
|
|
43
|
+
return ESCAPE_LOOKUP[match];
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function safeJsonStringify(value) {
|
|
47
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=htmlEscape.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","htmlEscape_exports","__export","htmlEscapeJsonString","safeJsonStringify","module","exports","ESCAPE_LOOKUP","ESCAPE_REGEX","str","replace","match"],"sources":["../../../src/utils/htmlEscape.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,kBAAA;AAAAC,QAAA,CAAAD,kBAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAM,CAAAC,OAAA,GAAAV,YAAwC,CAAAK,kBAAA;AAAA,IAC5CM,aAAU;IAAA;IACV;IAAU;IACV;IAAU;IACV;IAAU;IACV;IAAU;EACZ;EAEMC,YAAA,GAAe;AAad,SAASL,qBAAqBM,GAAA,EAAqB;EACxD,OAAOA,GAAA,CAAIC,OAAA,CAAQF,YAAA,EAAc,UAACG,KAAU;IAC9C,OAAAJ,aAAA,CAAAI,KAAA;EAKO;AACL;AACF,SAAAP,kBAAAJ,KAAA","ignoreList":[]}
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { safeJsonStringify } from "./utils/htmlEscape";
|
|
1
2
|
const isWebClient = typeof window < "u", isWebServer = typeof window > "u", isNative = !1, CACHE_KEY = `${process.env.ONE_CACHE_KEY ?? Math.round(Math.random() * 1e8)}`, LOADER_JS_POSTFIX_UNCACHED = "_vxrn_loader.js", LOADER_JS_POSTFIX_REGEX_STRING = `_\\d+${LOADER_JS_POSTFIX_UNCACHED}$`, LOADER_JS_POSTFIX_REGEX = new RegExp(LOADER_JS_POSTFIX_REGEX_STRING), LOADER_JS_POSTFIX = `_${CACHE_KEY}${LOADER_JS_POSTFIX_UNCACHED}`, PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload.js`, CSS_PRELOAD_JS_POSTFIX = `_${CACHE_KEY}_preload_css.js`, VIRTUAL_SSR_CSS_ENTRY = "virtual:ssr-css.css", VIRTUAL_SSR_CSS_HREF = `/@id/__x00__${VIRTUAL_SSR_CSS_ENTRY}`, SERVER_CONTEXT_KEY = "__one_server_context__", getSpaHeaderElements = ({
|
|
2
3
|
serverContext = {}
|
|
3
4
|
} = {}) => `
|
|
4
5
|
<script>globalThis['global'] = globalThis</script>
|
|
5
6
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
6
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
7
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
7
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify(serverContext)}</script>
|
|
8
|
+
<script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})</script>
|
|
8
9
|
`;
|
|
9
10
|
export {
|
|
10
11
|
CACHE_KEY,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/constants.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AAAA,SAAS,yBAAyB;AAG3B,MAAM,cACgC,OAAO,SAAW,KAClD,cACgC,OAAO,SAAW,KAClD,WAAW,IAEX,YAAY,GAAG,QAAQ,IAAI,iBAAiB,KAAK,MAAM,KAAK,OAAO,IAAI,GAAW,CAAC,IAEnF,6BAA6B,mBAC7B,iCAAiC,QAAQ,0BAA0B,KACnE,0BAA0B,IAAI,OAAO,8BAA8B,GACnE,oBAAoB,IAAI,SAAS,GAAG,0BAA0B,IAE9D,qBAAqB,IAAI,SAAS,eAClC,yBAAyB,IAAI,SAAS,mBAGtC,wBAAwB,uBACxB,uBAAuB,eAAe,qBAAqB,IAE3D,qBAAqB,0BAErB,uBAAuB,CAAC;AAAA,EACnC,gBAAgB,CAAC;AACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGa,kBAAkB,QAAQ,kBAAkB,aAAa,CAAC;AAAA,gDAClC,kBAAkB,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/constants.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { safeJsonStringify } from "./utils/htmlEscape.mjs";
|
|
1
2
|
const isWebClient = typeof window < "u",
|
|
2
3
|
isWebServer = typeof window > "u",
|
|
3
4
|
isNative = !1,
|
|
@@ -16,8 +17,8 @@ const isWebClient = typeof window < "u",
|
|
|
16
17
|
} = {}) => `
|
|
17
18
|
<script>globalThis['global'] = globalThis</script>
|
|
18
19
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
19
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
20
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
20
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify(serverContext)}</script>
|
|
21
|
+
<script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})</script>
|
|
21
22
|
`;
|
|
22
23
|
export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, isNative, isWebClient, isWebServer };
|
|
23
24
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWebClient","window","isWebServer","isNative","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","
|
|
1
|
+
{"version":3,"names":["safeJsonStringify","isWebClient","window","isWebServer","isNative","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","css"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAG3B,MAAMC,WAAA,GACgC,OAAOC,MAAA,GAAW;EAClDC,WAAA,GACgC,OAAOD,MAAA,GAAW;EAClDE,QAAA,GAAW;EAEXC,SAAA,GAAY,GAAGC,OAAA,CAAQC,GAAA,CAAIC,aAAA,IAAiBC,IAAA,CAAKC,KAAA,CAAMD,IAAA,CAAKE,MAAA,CAAO,IAAI,GAAW,CAAC;EAEnFC,0BAAA,GAA6B;EAC7BC,8BAAA,GAAiC,QAAQD,0BAA0B;EACnEE,uBAAA,GAA0B,IAAIC,MAAA,CAAOF,8BAA8B;EACnEG,iBAAA,GAAoB,IAAIX,SAAS,GAAGO,0BAA0B;EAE9DK,kBAAA,GAAqB,IAAIZ,SAAS;EAClCa,sBAAA,GAAyB,IAAIb,SAAS;EAGtCc,qBAAA,GAAwB;EACxBC,oBAAA,GAAuB,eAAeD,qBAAqB;EAE3DE,kBAAA,GAAqB;EAErBC,oBAAA,GAAuBA,CAAC;IACnCC,aAAA,GAAgB,CAAC;EACnB,IAEI,CAAC,MAAM;AAAA;AAAA;AAAA,wBAGaF,kBAAkB,QAAQrB,iBAAA,CAAkBuB,aAAa,CAAC;AAAA,gDAClCvB,iBAAA,CAAkBuB,aAAA,CAAcC,GAAA,IAAO,EAAE,CAAC;AAAA","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { safeJsonStringify } from "./utils/htmlEscape.native.js";
|
|
1
2
|
var isWebClient = !1,
|
|
2
3
|
isWebServer = !1,
|
|
3
4
|
isNative = !0,
|
|
@@ -19,8 +20,8 @@ var isWebClient = !1,
|
|
|
19
20
|
return `
|
|
20
21
|
<script>globalThis['global'] = globalThis</script>
|
|
21
22
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
22
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
23
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
23
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify(serverContext)}</script>
|
|
24
|
+
<script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})</script>
|
|
24
25
|
`;
|
|
25
26
|
};
|
|
26
27
|
export { CACHE_KEY, CSS_PRELOAD_JS_POSTFIX, LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_REGEX_STRING, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX, SERVER_CONTEXT_KEY, VIRTUAL_SSR_CSS_ENTRY, VIRTUAL_SSR_CSS_HREF, getSpaHeaderElements, isNative, isWebClient, isWebServer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isWebClient","isWebServer","isNative","_process_env_ONE_CACHE_KEY","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","arguments","length","
|
|
1
|
+
{"version":3,"names":["safeJsonStringify","isWebClient","isWebServer","isNative","_process_env_ONE_CACHE_KEY","CACHE_KEY","process","env","ONE_CACHE_KEY","Math","round","random","LOADER_JS_POSTFIX_UNCACHED","LOADER_JS_POSTFIX_REGEX_STRING","LOADER_JS_POSTFIX_REGEX","RegExp","LOADER_JS_POSTFIX","PRELOAD_JS_POSTFIX","CSS_PRELOAD_JS_POSTFIX","VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SERVER_CONTEXT_KEY","getSpaHeaderElements","serverContext","arguments","length","css"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAG3B,IAAAC,WAAM,KACgC;EAAAC,WAAO,GAAW;EAAAC,QAClD;EACgCC,0BAChC;EAAAC,SAEA,OAAAD,0BAA2B,GAAAE,OAAiB,CAAAC,GAAA,CAAKC,aAAW,MAAO,IAAI,IAAYJ,0BAEnF,UAA6B,IAAAA,0BAC7B,GAAAK,IAAA,CAAAC,KAAA,CAAAD,IAAiC,CAAAE,MAAA,CAAQ;EAAAC,0BACzC,oBAA0B;EAAAC,8BAAW,WACrCD,0BAAwB;EAAAE,uBAAY,OAAAC,MAEpC,CAAAF,8BAAyB;EAASG,iBAClC,OAAAX,SAAA,GAAAO,0BAAsC;EAAAK,kBAGtC,OAAAZ,SAAwB;EAAAa,sBACxB,OAAuBb,SAAA,iBAAe;EAAAc,qBAEtC,wBAAqB;EAAAC,oBAErB,kBAAwBD,qBAAA;EAAAE,kBAAA;EAAAC,oBAAA,YAAAA,CAAA;IACnC;MAAAC,aAAiB;IAAA,IAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IACnB,OAEK;AAAM;AAAA;AAAA,wBAGaH,kBAAkB,QAAQrB,iBAAA,CAAkBuB,aAAa,CAAC;AAAA,gDAClCvB,iBAAA,CAAkBuB,aAAA,CAAcG,GAAA,IAAO,EAAE,CAAC;AAAA","ignoreList":[]}
|
package/dist/esm/createApp.js
CHANGED
|
@@ -7,6 +7,7 @@ import { Root } from "./Root";
|
|
|
7
7
|
import { registerPreloadedRoute } from "./router/useViteRoutes";
|
|
8
8
|
import { getServerHeadInsertions } from "./useServerHeadInsertion";
|
|
9
9
|
import { ensureExists } from "./utils/ensureExists";
|
|
10
|
+
import { safeJsonStringify } from "./utils/htmlEscape";
|
|
10
11
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from "./vite/constants";
|
|
11
12
|
import { getServerContext, setServerContext } from "./vite/one-server-only";
|
|
12
13
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
@@ -77,8 +78,8 @@ function createApp(options) {
|
|
|
77
78
|
}
|
|
78
79
|
const postRenderData = getServerContext()?.postRenderData;
|
|
79
80
|
return postRenderData && (html = html.replace(
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
safeJsonStringify(SERVER_CONTEXT_POST_RENDER_STRING),
|
|
82
|
+
safeJsonStringify(postRenderData)
|
|
82
83
|
)), html;
|
|
83
84
|
}
|
|
84
85
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createApp.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAO;AAEP,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,8BAA8B;AAEvC,SAAS,+BAA+B;AACxC,SAAS,oBAAoB;AAC7B,SAAS,yCAAyC;AAClD,SAAS,kBAAkB,wBAAwB;AAiDvC,SA8CE,UA9CF;AAxCL,SAAS,UAAU,SAAyB;AACjD,MAAI,YAAY,IAAI;AAClB,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,OAAO,UAA0B;AAEvC,cAAM,CAAC,gBAAgB,YAAY,IAAI,MAAM,QAAQ,IAAI;AAAA,UACvD,OAAO,0BAA0B;AAAA,UACjC,OAAO,iBAAiB;AAAA,QAC1B,CAAC,GAEK,uBACJ,eAAe,wBACf,eAAe,SAAS,sBACpB,iBAAiB,aAAa;AAEpC,YAAI;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,eAAAA;AAAA,QACF,IAAI;AAEJ,yBAAiB;AAAA,UACf,gBAAgB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,eAAAA;AAAA,QACF,CAAC;AAED,YAAI;AAEJ,cAAM,MAAM,MAER;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,QAAQ;AAAA,YACf,YAAY,CAAC,OAAO;AAClB,yBAAW;AAAA,YACb;AAAA,YACA,QAAQ,QAAQ;AAAA,YAChB,YAAY,QAAQ;AAAA,YACnB,GAAG;AAAA;AAAA,QACN;AAIJ,oBAAY,kBAAkB,OAAO,MAAM,GAAG;AAG9C,cAAM,cAAc,YAAY,eAAe,OAAO,CAAC,CAAC,GAGlD,cAAc,YAAY,QAAQ,MAAM;AAE9C,YAAI,OAAO,MAAM,eAAe,aAAa;AAAA,UAC3C,UAAU,MAAM;AAAA,UAChB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AAED,YAAI;AACF,gBAAM,oBAA0C,CAAC,GAE3C,WAAW,YAAY,gBAAgB,EAAE,OAAO,QAAQ,IAAI,UAAU,CAAC;AAC7E,UAAI,YACF,kBAAkB,KAAK,QAAQ,GAGjC,aAAa,QAAQ;AACrB,gBAAM,aAAa,wBAAwB,QAAQ;AACnD,cAAI;AACF,uBAAW,aAAa,YAAY;AAClC,oBAAM,MAAM,UAAU;AACtB,cAAI,OACF,kBAAkB,KAAK,GAAG;AAAA,YAE9B;AAGF,cAAI,kBAAkB,QAAQ;AAC5B,kBAAM,gBAAgB;AAAA,cACpB,gCAAG,4BAAkB,IAAI,CAAC,GAAG,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAE;AAAA,YAClE;AAEA,YAAI,kBACF,OAAO,KAAK,QAAQ,WAAW,GAAG,aAAa,SAAS;AAAA,UAE5D;AAAA,QACF,SAAS,KAAK;AAGZ,cAAI,IAAG,GAAG,GAAG,SAAS,sBAAsB;AAG1C,kBAAM;AAAA,QAEV;AAGA,cAAM,iBAAiB,iBAAiB,GAAG;AAE3C,eAAI,mBACF,OAAO,KAAK;AAAA,UACV,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["routePreloads"]
|
|
6
6
|
}
|
package/dist/esm/createApp.mjs
CHANGED
|
@@ -7,6 +7,7 @@ import { Root } from "./Root.mjs";
|
|
|
7
7
|
import { registerPreloadedRoute } from "./router/useViteRoutes.mjs";
|
|
8
8
|
import { getServerHeadInsertions } from "./useServerHeadInsertion.mjs";
|
|
9
9
|
import { ensureExists } from "./utils/ensureExists.mjs";
|
|
10
|
+
import { safeJsonStringify } from "./utils/htmlEscape.mjs";
|
|
10
11
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from "./vite/constants.mjs";
|
|
11
12
|
import { getServerContext, setServerContext } from "./vite/one-server-only.mjs";
|
|
12
13
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
@@ -75,7 +76,7 @@ function createApp(options) {
|
|
|
75
76
|
if (!`${err}`.includes("sheet is not defined")) throw err;
|
|
76
77
|
}
|
|
77
78
|
const postRenderData = getServerContext()?.postRenderData;
|
|
78
|
-
return postRenderData && (html = html.replace(
|
|
79
|
+
return postRenderData && (html = html.replace(safeJsonStringify(SERVER_CONTEXT_POST_RENDER_STRING), safeJsonStringify(postRenderData))), html;
|
|
79
80
|
}
|
|
80
81
|
};
|
|
81
82
|
const serverContext = getServerContext() || {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneElement","AppRegistry","resolveClientLoader","render","Root","registerPreloadedRoute","getServerHeadInsertions","ensureExists","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","ReactDOMServer","serverRender","Promise","all","renderToStaticMarkup","default","renderToString","loaderData","loaderProps","css","cssContents","mode","loaderServerData","routePreloads","routePreloads2","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","deferredPreloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","map","x","i","key","replace","err","includes","
|
|
1
|
+
{"version":3,"names":["cloneElement","AppRegistry","resolveClientLoader","render","Root","registerPreloadedRoute","getServerHeadInsertions","ensureExists","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","ReactDOMServer","serverRender","Promise","all","renderToStaticMarkup","default","renderToString","loaderData","loaderProps","css","cssContents","mode","loaderServerData","routePreloads","routePreloads2","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","deferredPreloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","map","x","i","key","replace","err","includes","serverContext","preloadPromises","Object","entries","routeKey","bundlePath","mod","then","isClient","path","window","location","href","catch","console","error"],"sources":["../../src/createApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SERVER_CONTEXT_KEY } from "../constants";
|
|
2
|
+
import { safeJsonStringify } from "../utils/htmlEscape";
|
|
2
3
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants";
|
|
3
4
|
import { useServerContext } from "../vite/one-server-only";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -28,11 +29,11 @@ function ServerContextScript() {
|
|
|
28
29
|
suppressHydrationWarning: !0,
|
|
29
30
|
dangerouslySetInnerHTML: {
|
|
30
31
|
__html: `
|
|
31
|
-
globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
32
|
+
globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify({
|
|
32
33
|
...clientContext,
|
|
33
34
|
postRenderData: SERVER_CONTEXT_POST_RENDER_STRING
|
|
34
35
|
})};
|
|
35
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
36
|
+
globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(cssUrls)});
|
|
36
37
|
`
|
|
37
38
|
}
|
|
38
39
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/server/ServerContextScript.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,yCAAyC;AAClD,SAAS,wBAAwB;AAK3B;AAHC,SAAS,sBAAsB;AACpC,MAAI,QAAQ,IAAI,qBAAqB;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF;AAIJ,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,UAAU,iBAAiB,GAC3B,UAAU,SAAS,OAAO,CAAC,GAM3B,EAAE,aAAa,GAAG,YAAY,IAAI,WAAW,CAAC,GAC9C,gBAAgB;AAAA,MACpB,GAAG;AAAA,MACH,gBAAgB,aAAa,UAAU;AAAA,IACzC;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,4BACU,kBAAkB,QAAQ,
|
|
4
|
+
"mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,yCAAyC;AAClD,SAAS,wBAAwB;AAK3B;AAHC,SAAS,sBAAsB;AACpC,MAAI,QAAQ,IAAI,qBAAqB;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF;AAIJ,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,UAAU,iBAAiB,GAC3B,UAAU,SAAS,OAAO,CAAC,GAM3B,EAAE,aAAa,GAAG,YAAY,IAAI,WAAW,CAAC,GAC9C,gBAAgB;AAAA,MACpB,GAAG;AAAA,MACH,gBAAgB,aAAa,UAAU;AAAA,IACzC;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QAEL,MAAM;AAAA,QACN,0BAAwB;AAAA,QACxB,yBAAyB;AAAA,UACvB,QAAQ;AAAA,4BACU,kBAAkB,QAAQ,kBAAkB;AAAA,YACxD,GAAG;AAAA,YACH,gBAAgB;AAAA,UAClB,CAAC,CAAC;AAAA,oDACoC,kBAAkB,OAAO,CAAC;AAAA;AAAA,QAEtE;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SAAO;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SERVER_CONTEXT_KEY } from "../constants.mjs";
|
|
2
|
+
import { safeJsonStringify } from "../utils/htmlEscape.mjs";
|
|
2
3
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants.mjs";
|
|
3
4
|
import { useServerContext } from "../vite/one-server-only.mjs";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -28,11 +29,11 @@ function ServerContextScript() {
|
|
|
28
29
|
suppressHydrationWarning: !0,
|
|
29
30
|
dangerouslySetInnerHTML: {
|
|
30
31
|
__html: `
|
|
31
|
-
globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
32
|
+
globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify({
|
|
32
33
|
...clientContext,
|
|
33
34
|
postRenderData: SERVER_CONTEXT_POST_RENDER_STRING
|
|
34
35
|
})};
|
|
35
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
36
|
+
globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(cssUrls)});
|
|
36
37
|
`
|
|
37
38
|
}
|
|
38
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SERVER_CONTEXT_KEY","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","jsx","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","
|
|
1
|
+
{"version":3,"names":["SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","jsx","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","postRenderData"],"sources":["../../../src/server/ServerContextScript.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,SAASC,iBAAA,QAAyB;AAClC,SAASC,iCAAA,QAAyC;AAClD,SAASC,gBAAA,QAAwB;AAK3B,SAAAC,GAAA;AAHC,SAASC,oBAAA,EAAsB;EACpC,IAAIC,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,UACnC,OACE,eAAAJ,GAAA,CAAC;IACCK,KAAA,EAAK;IAELC,IAAA,EAAMV,kBAAA;IACNW,wBAAA,EAAwB;IACxBC,uBAAA,EAAyB;MACvBC,MAAA,EAAQ;IACV;EAAA,CACF;EAIJ,IAAIP,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,OAAO;IAC1C,MAAMM,OAAA,GAAUX,gBAAA,CAAiB;MAC3BY,OAAA,GAAUD,OAAA,EAASE,GAAA,IAAO,EAAC;MAM3B;QAAEC,WAAA;QAAa,GAAGC;MAAY,IAAIJ,OAAA,IAAW,CAAC;MAC9CK,aAAA,GAAgB;QACpB,GAAGD,WAAA;QACHE,cAAA,EAAgBH,WAAA,EAAaI,MAAA,IAAU;MACzC;IAEA,OACE,eAAAjB,GAAA,CAAC;MACCK,KAAA,EAAK;MAELC,IAAA,EAAMV,kBAAA;MACNW,wBAAA,EAAwB;MACxBC,uBAAA,EAAyB;QACvBC,MAAA,EAAQ;AAAA,4BACUb,kBAAkB,QAAQC,iBAAA,CAAkB;UACxD,GAAGkB,aAAA;UACHG,cAAA,EAAgBpB;QAClB,CAAC,CAAC;AAAA,oDACoCD,iBAAA,CAAkBc,OAAO,CAAC;AAAA;MAEtE;IAAA,CACF;EAEJ;EAEA,OAAO;AACT","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { SERVER_CONTEXT_KEY } from "../constants.native.js";
|
|
3
|
+
import { safeJsonStringify } from "../utils/htmlEscape.native.js";
|
|
3
4
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants.native.js";
|
|
4
5
|
import { useServerContext } from "../vite/one-server-only.native.js";
|
|
5
6
|
function ServerContextScript() {
|
|
@@ -30,11 +31,11 @@ function ServerContextScript() {
|
|
|
30
31
|
suppressHydrationWarning: !0,
|
|
31
32
|
dangerouslySetInnerHTML: {
|
|
32
33
|
__html: `
|
|
33
|
-
globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
34
|
+
globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify({
|
|
34
35
|
...clientContext,
|
|
35
36
|
postRenderData: SERVER_CONTEXT_POST_RENDER_STRING
|
|
36
37
|
})};
|
|
37
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
38
|
+
globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(cssUrls)});
|
|
38
39
|
`
|
|
39
40
|
}
|
|
40
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","SERVER_CONTEXT_KEY","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","SERVER_CONTEXT_KEY","safeJsonStringify","SERVER_CONTEXT_POST_RENDER_STRING","useServerContext","ServerContextScript","process","env","VITE_ENVIRONMENT","async","href","suppressHydrationWarning","dangerouslySetInnerHTML","__html","context","cssUrls","css","cssContents","restContext","clientContext","cssInlineCount","length","postRenderData"],"sources":["../../../src/server/ServerContextScript.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,2BAA0B;AACnC,SAASC,kBAAA,QAAyB;AAClC,SAASC,iBAAA,uCAAyC;AAClD,SAASC,iCAAwB;AAK3B,SAAAC,gBAAA;AAHC,SAASC,oBAAA,EAAsB;EACpC,IAAIC,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB,UACnC,OACE,eAAAR,IAAA;IAACS,KAAA;IAAA;IAAAC,IACC,EAAAT,kBAAK;IAAAU,wBAEC;IAAAC,uBACN;MACAC,MAAA;IAAyB;EACf;EACV,IAAAP,OAAA,CAAAC,GAAA,CAAAC,gBAAA;IACF,IAAAM,OAAA,GAAAV,gBAAA;MAAAW,OAAA,GAAAD,OAAA,EAAAE,GAAA;MAAA;QAAAC,WAAA;QAAA,GAAAC;MAAA,IAAAJ,OAAA;MAAAK,aAAA;QAIA,GAAAD,WAAY;QACdE,cAAgB,EAAAH,WAAA,EAAAI,MACV;MAOgB;IACjB,OACH,eAAgBrB,IAAA,SAAa;MAC/BS,KAAA;MAEA;MACGC,IAAA,EAAAT,kBAAA;MAAAU,wBAAA;MAAAC,uBACM;QAELC,MAAM;AAAA,4BACNZ,kBAAwB,QAAAC,iBAAA;UACxB,GAAAiB,aAAA;UACEG,cAAQ,EAAAnB;QAAA;AACsD,oDACrDD,iBAAA,CAAAa,OAAA;AAAA;MACa;IAChB;EAC8D;EAAA,OAEtE;AAAA;AAAA,SAGNV,mBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const ESCAPE_LOOKUP = {
|
|
2
|
+
"&": "\\u0026",
|
|
3
|
+
// &
|
|
4
|
+
"<": "\\u003c",
|
|
5
|
+
// <
|
|
6
|
+
">": "\\u003e",
|
|
7
|
+
// >
|
|
8
|
+
"\u2028": "\\u2028",
|
|
9
|
+
// Line separator
|
|
10
|
+
"\u2029": "\\u2029"
|
|
11
|
+
// Paragraph separator
|
|
12
|
+
}, ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
13
|
+
function htmlEscapeJsonString(str) {
|
|
14
|
+
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
|
|
15
|
+
}
|
|
16
|
+
function safeJsonStringify(value) {
|
|
17
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
htmlEscapeJsonString,
|
|
21
|
+
safeJsonStringify
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=htmlEscape.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/htmlEscape.ts"],
|
|
4
|
+
"mappings": "AAIA,MAAM,gBAAwC;AAAA,EAC5C,KAAU;AAAA;AAAA,EACV,KAAU;AAAA;AAAA,EACV,KAAU;AAAA;AAAA,EACV,UAAU;AAAA;AAAA,EACV,UAAU;AAAA;AACZ,GAEM,eAAe;AAad,SAAS,qBAAqB,KAAqB;AACxD,SAAO,IAAI,QAAQ,cAAc,CAAC,UAAU,cAAc,KAAK,CAAC;AAClE;AAKO,SAAS,kBAAkB,OAAwB;AACxD,SAAO,qBAAqB,KAAK,UAAU,KAAK,CAAC;AACnD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const ESCAPE_LOOKUP = {
|
|
2
|
+
"&": "\\u0026",
|
|
3
|
+
// &
|
|
4
|
+
"<": "\\u003c",
|
|
5
|
+
// <
|
|
6
|
+
">": "\\u003e",
|
|
7
|
+
// >
|
|
8
|
+
"\u2028": "\\u2028",
|
|
9
|
+
// Line separator
|
|
10
|
+
"\u2029": "\\u2029"
|
|
11
|
+
// Paragraph separator
|
|
12
|
+
},
|
|
13
|
+
ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
14
|
+
function htmlEscapeJsonString(str) {
|
|
15
|
+
return str.replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]);
|
|
16
|
+
}
|
|
17
|
+
function safeJsonStringify(value) {
|
|
18
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
19
|
+
}
|
|
20
|
+
export { htmlEscapeJsonString, safeJsonStringify };
|
|
21
|
+
//# sourceMappingURL=htmlEscape.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ESCAPE_LOOKUP","ESCAPE_REGEX","htmlEscapeJsonString","str","replace","match","safeJsonStringify","value","JSON","stringify"],"sources":["../../../src/utils/htmlEscape.ts"],"sourcesContent":[null],"mappings":"AAIA,MAAMA,aAAA,GAAwC;IAC5C,KAAU;IAAA;IACV,KAAU;IAAA;IACV,KAAU;IAAA;IACV,UAAU;IAAA;IACV,UAAU;IAAA;EACZ;EAEMC,YAAA,GAAe;AAad,SAASC,qBAAqBC,GAAA,EAAqB;EACxD,OAAOA,GAAA,CAAIC,OAAA,CAAQH,YAAA,EAAeI,KAAA,IAAUL,aAAA,CAAcK,KAAK,CAAC;AAClE;AAKO,SAASC,kBAAkBC,KAAA,EAAwB;EACxD,OAAOL,oBAAA,CAAqBM,IAAA,CAAKC,SAAA,CAAUF,KAAK,CAAC;AACnD","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
var ESCAPE_LOOKUP = {
|
|
2
|
+
"&": "\\u0026",
|
|
3
|
+
// &
|
|
4
|
+
"<": "\\u003c",
|
|
5
|
+
// <
|
|
6
|
+
">": "\\u003e",
|
|
7
|
+
// >
|
|
8
|
+
"\u2028": "\\u2028",
|
|
9
|
+
// Line separator
|
|
10
|
+
"\u2029": "\\u2029"
|
|
11
|
+
},
|
|
12
|
+
ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g;
|
|
13
|
+
function htmlEscapeJsonString(str) {
|
|
14
|
+
return str.replace(ESCAPE_REGEX, function (match) {
|
|
15
|
+
return ESCAPE_LOOKUP[match];
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function safeJsonStringify(value) {
|
|
19
|
+
return htmlEscapeJsonString(JSON.stringify(value));
|
|
20
|
+
}
|
|
21
|
+
export { htmlEscapeJsonString, safeJsonStringify };
|
|
22
|
+
//# sourceMappingURL=htmlEscape.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ESCAPE_LOOKUP","ESCAPE_REGEX","htmlEscapeJsonString","str","replace","match","safeJsonStringify","value","JSON","stringify"],"sources":["../../../src/utils/htmlEscape.ts"],"sourcesContent":[null],"mappings":"AAIA,IAAAA,aAAM;IACJ,KAAU;IAAA;IACV,KAAU;IAAA;IACV,KAAU;IAAA;IACV,UAAU;IAAA;IACV,UAAU;EAAA;EAAAC,YAAA;AACZ,SAEMC,oBAAeA,CAAAC,GAAA;EAad,OAASA,GAAA,CAAAC,OAAA,CAAAH,YAAqB,EAAqB,UAAAI,KAAA;IACxD,OAAOL,aAAY,CAAAK,KAAA;EACrB;AAKO;AACL,SAAOC,kBAAAC,KAAqB;EAC9B,OAAAL,oBAAA,CAAAM,IAAA,CAAAC,SAAA,CAAAF,KAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.52",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -130,17 +130,17 @@
|
|
|
130
130
|
"@react-navigation/routers": "~7.5.1",
|
|
131
131
|
"@swc/core": "^1.14.0",
|
|
132
132
|
"@ungap/structured-clone": "^1.2.0",
|
|
133
|
-
"@vxrn/color-scheme": "1.2.
|
|
134
|
-
"@vxrn/compiler": "1.2.
|
|
135
|
-
"@vxrn/resolve": "1.2.
|
|
136
|
-
"@vxrn/tslib-lite": "1.2.
|
|
137
|
-
"@vxrn/use-isomorphic-layout-effect": "1.2.
|
|
138
|
-
"@vxrn/vite-plugin-metro": "1.2.
|
|
133
|
+
"@vxrn/color-scheme": "1.2.52",
|
|
134
|
+
"@vxrn/compiler": "1.2.52",
|
|
135
|
+
"@vxrn/resolve": "1.2.52",
|
|
136
|
+
"@vxrn/tslib-lite": "1.2.52",
|
|
137
|
+
"@vxrn/use-isomorphic-layout-effect": "1.2.52",
|
|
138
|
+
"@vxrn/vite-plugin-metro": "1.2.52",
|
|
139
139
|
"babel-dead-code-elimination": "^1.0.10",
|
|
140
140
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
141
141
|
"citty": "^0.1.6",
|
|
142
142
|
"core-js": "^3.38.1",
|
|
143
|
-
"create-vxrn": "1.2.
|
|
143
|
+
"create-vxrn": "1.2.52",
|
|
144
144
|
"escape-string-regexp": "^5.0.0",
|
|
145
145
|
"expo-linking": "~8.0.8",
|
|
146
146
|
"expo-modules-core": "~3.0.24",
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"vite": "^7.1.12",
|
|
167
167
|
"vite-plugin-barrel": "^0.4.1",
|
|
168
168
|
"vite-tsconfig-paths": "^5.1.4",
|
|
169
|
-
"vxrn": "1.2.
|
|
169
|
+
"vxrn": "1.2.52",
|
|
170
170
|
"ws": "^8.18.0",
|
|
171
171
|
"xxhashjs": "^0.2.2"
|
|
172
172
|
},
|
package/src/constants.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { safeJsonStringify } from './utils/htmlEscape'
|
|
1
2
|
import type { One } from './vite/types'
|
|
2
3
|
|
|
3
4
|
export const isWebClient =
|
|
@@ -29,6 +30,6 @@ export const getSpaHeaderElements = ({
|
|
|
29
30
|
} = {}) => `
|
|
30
31
|
<script>globalThis['global'] = globalThis</script>
|
|
31
32
|
<script>globalThis['__vxrnIsSPA'] = true</script>
|
|
32
|
-
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
33
|
-
<script>globalThis.__oneLoadedCSS = new Set(${
|
|
33
|
+
<script>globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify(serverContext)}</script>
|
|
34
|
+
<script>globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(serverContext.css || [])})</script>
|
|
34
35
|
`
|
package/src/createApp.tsx
CHANGED
|
@@ -9,6 +9,7 @@ import { registerPreloadedRoute } from './router/useViteRoutes'
|
|
|
9
9
|
import type { RenderAppProps } from './types'
|
|
10
10
|
import { getServerHeadInsertions } from './useServerHeadInsertion'
|
|
11
11
|
import { ensureExists } from './utils/ensureExists'
|
|
12
|
+
import { safeJsonStringify } from './utils/htmlEscape'
|
|
12
13
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from './vite/constants'
|
|
13
14
|
import { getServerContext, setServerContext } from './vite/one-server-only'
|
|
14
15
|
import type { One } from './vite/types'
|
|
@@ -127,8 +128,8 @@ export function createApp(options: CreateAppProps) {
|
|
|
127
128
|
|
|
128
129
|
if (postRenderData) {
|
|
129
130
|
html = html.replace(
|
|
130
|
-
|
|
131
|
-
|
|
131
|
+
safeJsonStringify(SERVER_CONTEXT_POST_RENDER_STRING),
|
|
132
|
+
safeJsonStringify(postRenderData)
|
|
132
133
|
)
|
|
133
134
|
}
|
|
134
135
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SERVER_CONTEXT_KEY } from '../constants'
|
|
2
|
+
import { safeJsonStringify } from '../utils/htmlEscape'
|
|
2
3
|
import { SERVER_CONTEXT_POST_RENDER_STRING } from '../vite/constants'
|
|
3
4
|
import { useServerContext } from '../vite/one-server-only'
|
|
4
5
|
|
|
@@ -39,11 +40,11 @@ export function ServerContextScript() {
|
|
|
39
40
|
suppressHydrationWarning
|
|
40
41
|
dangerouslySetInnerHTML={{
|
|
41
42
|
__html: `
|
|
42
|
-
globalThis["${SERVER_CONTEXT_KEY}"] = ${
|
|
43
|
+
globalThis["${SERVER_CONTEXT_KEY}"] = ${safeJsonStringify({
|
|
43
44
|
...clientContext,
|
|
44
45
|
postRenderData: SERVER_CONTEXT_POST_RENDER_STRING,
|
|
45
46
|
})};
|
|
46
|
-
globalThis.__oneLoadedCSS = new Set(${
|
|
47
|
+
globalThis.__oneLoadedCSS = new Set(${safeJsonStringify(cssUrls)});
|
|
47
48
|
`,
|
|
48
49
|
}}
|
|
49
50
|
/>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Based on https://github.com/zertosh/htmlescape
|
|
2
|
+
// Prevents XSS when embedding JSON in <script> tags
|
|
3
|
+
// See: https://pragmaticwebsecurity.com/articles/spasecurity/json-stringify-xss.html
|
|
4
|
+
|
|
5
|
+
const ESCAPE_LOOKUP: Record<string, string> = {
|
|
6
|
+
'\u0026': '\\u0026', // &
|
|
7
|
+
'\u003c': '\\u003c', // <
|
|
8
|
+
'\u003e': '\\u003e', // >
|
|
9
|
+
'\u2028': '\\u2028', // Line separator
|
|
10
|
+
'\u2029': '\\u2029', // Paragraph separator
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const ESCAPE_REGEX = /[\u0026\u003c\u003e\u2028\u2029]/g
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Escapes a JSON string for safe embedding in HTML <script> tags.
|
|
17
|
+
*
|
|
18
|
+
* JSON.stringify doesn't escape characters like < and >, which means
|
|
19
|
+
* a string containing "</script>" can break out of a script tag and
|
|
20
|
+
* allow arbitrary code execution.
|
|
21
|
+
*
|
|
22
|
+
* This function escapes those characters as unicode escape sequences
|
|
23
|
+
* (e.g., < becomes \u003c) which are valid JSON but won't be parsed
|
|
24
|
+
* as HTML.
|
|
25
|
+
*/
|
|
26
|
+
export function htmlEscapeJsonString(str: string): string {
|
|
27
|
+
return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match])
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Safely serializes a value to JSON for embedding in HTML <script> tags.
|
|
32
|
+
*/
|
|
33
|
+
export function safeJsonStringify(value: unknown): string {
|
|
34
|
+
return htmlEscapeJsonString(JSON.stringify(value))
|
|
35
|
+
}
|
package/types/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,eAAO,MAAM,WAAW,SACkD,CAAA;AAC1E,eAAO,MAAM,WAAW,SACkD,CAAA;AAC1E,eAAO,MAAM,QAAQ,SAA0C,CAAA;AAE/D,eAAO,MAAM,SAAS,QAA4E,CAAA;AAElG,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D,eAAO,MAAM,8BAA8B,0BAAwC,CAAA;AACnF,eAAO,MAAM,uBAAuB,QAA6C,CAAA;AACjF,eAAO,MAAM,iBAAiB,QAA+C,CAAA;AAE7E,eAAO,MAAM,kBAAkB,QAA6B,CAAA;AAC5D,eAAO,MAAM,sBAAsB,QAAiC,CAAA;AAGpE,eAAO,MAAM,qBAAqB,wBAAwB,CAAA;AAC1D,eAAO,MAAM,oBAAoB,oCAAyC,CAAA;AAE1E,eAAO,MAAM,kBAAkB,2BAA2B,CAAA;AAE1D,eAAO,MAAM,oBAAoB,GAAI,qBAElC;IACD,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAA;CAC7B,WAKL,CAAA"}
|
package/types/createApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAQhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"createApp.d.ts","sourceRoot":"","sources":["../src/createApp.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAQhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAC9C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAA;CAClB,CAAA;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc;;oBAIrB,cAAc;EAiJzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerContextScript.d.ts","sourceRoot":"","sources":["../../src/server/ServerContextScript.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServerContextScript.d.ts","sourceRoot":"","sources":["../../src/server/ServerContextScript.tsx"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,mDAiDlC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Escapes a JSON string for safe embedding in HTML <script> tags.
|
|
3
|
+
*
|
|
4
|
+
* JSON.stringify doesn't escape characters like < and >, which means
|
|
5
|
+
* a string containing "</script>" can break out of a script tag and
|
|
6
|
+
* allow arbitrary code execution.
|
|
7
|
+
*
|
|
8
|
+
* This function escapes those characters as unicode escape sequences
|
|
9
|
+
* (e.g., < becomes \u003c) which are valid JSON but won't be parsed
|
|
10
|
+
* as HTML.
|
|
11
|
+
*/
|
|
12
|
+
export declare function htmlEscapeJsonString(str: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Safely serializes a value to JSON for embedding in HTML <script> tags.
|
|
15
|
+
*/
|
|
16
|
+
export declare function safeJsonStringify(value: unknown): string;
|
|
17
|
+
//# sourceMappingURL=htmlEscape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"htmlEscape.d.ts","sourceRoot":"","sources":["../../src/utils/htmlEscape.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAExD"}
|