@modern-js/runtime 2.61.0 → 2.62.1
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/core/server/requestHandler.js +2 -0
- package/dist/cjs/core/server/stream/afterTemplate.js +9 -5
- package/dist/cjs/core/server/string/ssrData.js +1 -1
- package/dist/cjs/core/server/utils.js +8 -0
- package/dist/cjs/document/Script.js +9 -3
- package/dist/cjs/document/cli/index.js +2 -2
- package/dist/cjs/document/constants.js +6 -0
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +40 -18
- package/dist/cjs/router/runtime/constants.js +13 -0
- package/dist/cjs/router/runtime/plugin.js +0 -7
- package/dist/cjs/router/runtime/plugin.node.js +4 -3
- package/dist/esm/core/server/requestHandler.js +3 -1
- package/dist/esm/core/server/stream/afterTemplate.js +6 -2
- package/dist/esm/core/server/string/ssrData.js +2 -2
- package/dist/esm/core/server/utils.js +8 -0
- package/dist/esm/document/Script.js +13 -5
- package/dist/esm/document/cli/index.js +4 -4
- package/dist/esm/document/constants.js +4 -0
- package/dist/esm/router/runtime/DeferredDataScripts.node.js +40 -20
- package/dist/esm/router/runtime/constants.js +9 -0
- package/dist/esm/router/runtime/plugin.js +0 -7
- package/dist/esm/router/runtime/plugin.node.js +4 -3
- package/dist/esm-node/core/server/requestHandler.js +3 -1
- package/dist/esm-node/core/server/stream/afterTemplate.js +8 -4
- package/dist/esm-node/core/server/string/ssrData.js +2 -2
- package/dist/esm-node/core/server/utils.js +7 -0
- package/dist/esm-node/document/Script.js +11 -5
- package/dist/esm-node/document/cli/index.js +3 -3
- package/dist/esm-node/document/constants.js +4 -0
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +40 -18
- package/dist/esm-node/router/runtime/constants.js +9 -0
- package/dist/esm-node/router/runtime/plugin.js +0 -7
- package/dist/esm-node/router/runtime/plugin.node.js +4 -3
- package/dist/types/core/context/runtime.d.ts +1 -5
- package/dist/types/core/server/stream/afterTemplate.d.ts +1 -1
- package/dist/types/core/server/utils.d.ts +1 -0
- package/dist/types/core/types.d.ts +1 -0
- package/dist/types/document/Script.d.ts +5 -4
- package/dist/types/document/constants.d.ts +2 -0
- package/dist/types/router/runtime/DeferredDataScripts.node.d.ts +1 -0
- package/dist/types/router/runtime/constants.d.ts +34 -0
- package/package.json +15 -12
- package/scripts/gen-static.ts +26 -0
- package/static/modern-inline.js +1 -0
- package/static/modern-run-router-data-fn.js +1 -0
- package/static/modern-run-window-fn.js +1 -0
|
@@ -110,3 +110,37 @@ export declare const preResolvedFnStr = "function p(e,r){return void 0!==r?Promi
|
|
|
110
110
|
};
|
|
111
111
|
*/
|
|
112
112
|
export declare const mergeLoaderDataStr = "function mergeLoaderData(e,n){const r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){const t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return console.info(\"args\",t),{...e,[n]:_ROUTER_DATA[r](...t)}}),{});Object.assign(_ROUTER_DATA.loaderData[e],r)}";
|
|
113
|
+
/**
|
|
114
|
+
* This original string is: ${setupFnStr};${resolveFnStr};${preResolvedFnStr};
|
|
115
|
+
* function mergeData (routeIdJsonStr, deferredKeyPromiseManifests) {
|
|
116
|
+
const source = deferredKeyPromiseManifests.reduce(function(o, {key, routerDataFnName, routerDataFnArgs }) {
|
|
117
|
+
return {...o, [key]: _ROUTER_DATA[routerDataFnName](...routerDataFnArgs)}
|
|
118
|
+
}, {});
|
|
119
|
+
Object.assign(_ROUTER_DATA.loaderData[routeIdJsonStr], source);
|
|
120
|
+
};
|
|
121
|
+
*/
|
|
122
|
+
export declare const initRouterDataAttrs = "_ROUTER_DATA.s = function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};_ROUTER_DATA.r = function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};_ROUTER_DATA.p = function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};function mergeLoaderData(e,n){const r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){const t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return console.info(\"args\",t),{...e,[n]:_ROUTER_DATA[r](...t)}}),{});Object.assign(_ROUTER_DATA.loaderData[e],r)}";
|
|
123
|
+
/**
|
|
124
|
+
function runWindowFn() {
|
|
125
|
+
window[document.currentScript.getAttribute('data-fn-name')](...JSON.parse(document.currentScript.getAttribute('data-fn-args')))
|
|
126
|
+
}
|
|
127
|
+
function runRouterDataFn() {
|
|
128
|
+
_ROUTER_DATA[document.currentScript.getAttribute('data-fn-name')](...JSON.parse(document.currentScript.getAttribute('data-fn-args')))
|
|
129
|
+
}
|
|
130
|
+
function initRouterData(id) {
|
|
131
|
+
const ele = document.getElementById(id);
|
|
132
|
+
if (ele) {
|
|
133
|
+
try {
|
|
134
|
+
_ROUTER_DATA = JSON.parse(ele.textContent);
|
|
135
|
+
} catch(e) {
|
|
136
|
+
console.error("parse ".concat(id, " error"), t);
|
|
137
|
+
_ROUTER_DATA = {};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
initRouterData();
|
|
142
|
+
${initRouterDataAttrs}
|
|
143
|
+
*/
|
|
144
|
+
export declare const modernInline = "function runWindowFn(){window[document.currentScript.getAttribute(\"data-fn-name\")](...JSON.parse(document.currentScript.getAttribute(\"data-fn-args\")))}function runRouterDataFn(){_ROUTER_DATA[document.currentScript.getAttribute(\"data-fn-name\")](...JSON.parse(document.currentScript.getAttribute(\"data-fn-args\")))}function initRouterData(e){var r=document.getElementById(e);if(r)try{_ROUTER_DATA=JSON.parse(r.textContent)}catch(r){console.error(\"parse \".concat(e,\" error\"),t),_ROUTER_DATA={}}};initRouterData('__MODERN_ROUTER_DATA__');_ROUTER_DATA.s = function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};_ROUTER_DATA.r = function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};_ROUTER_DATA.p = function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};function mergeLoaderData(e,n){const r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){const t=a.map((e=>{if(\"undefined\"!==e&&null!==e)return JSON.parse(e)}));return console.info(\"args\",t),{...e,[n]:_ROUTER_DATA[r](...t)}}),{});Object.assign(_ROUTER_DATA.loaderData[e],r)}";
|
|
145
|
+
export declare const runRouterDataFnStr = "runRouterDataFn();";
|
|
146
|
+
export declare const runWindowFnStr = "runWindowFn();";
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.62.1",
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=14.17.6"
|
|
21
21
|
},
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"jsnext:source": "./src/index.ts",
|
|
30
30
|
"default": "./dist/esm/index.js"
|
|
31
31
|
},
|
|
32
|
+
"./package.json": "./package.json",
|
|
32
33
|
"./types": "./types/index.d.ts",
|
|
33
34
|
"./types/index": "./types/index.d.ts",
|
|
34
35
|
"./types/router": "./types/router.d.ts",
|
|
@@ -199,11 +200,11 @@
|
|
|
199
200
|
"react-is": "^18",
|
|
200
201
|
"react-side-effect": "^2.1.1",
|
|
201
202
|
"styled-components": "^5.3.1",
|
|
202
|
-
"@modern-js/plugin": "2.
|
|
203
|
-
"@modern-js/
|
|
204
|
-
"@modern-js/
|
|
205
|
-
"@modern-js/
|
|
206
|
-
"@modern-js/utils": "2.
|
|
203
|
+
"@modern-js/plugin": "2.62.1",
|
|
204
|
+
"@modern-js/runtime-utils": "2.62.1",
|
|
205
|
+
"@modern-js/plugin-data-loader": "2.62.1",
|
|
206
|
+
"@modern-js/types": "2.62.1",
|
|
207
|
+
"@modern-js/utils": "2.62.1"
|
|
207
208
|
},
|
|
208
209
|
"peerDependencies": {
|
|
209
210
|
"react": ">=17",
|
|
@@ -211,7 +212,7 @@
|
|
|
211
212
|
},
|
|
212
213
|
"devDependencies": {
|
|
213
214
|
"@remix-run/web-fetch": "^4.1.3",
|
|
214
|
-
"@rsbuild/core": "~1.1.0
|
|
215
|
+
"@rsbuild/core": "~1.1.0",
|
|
215
216
|
"@testing-library/react": "^13.4.0",
|
|
216
217
|
"@types/cookie": "0.6.0",
|
|
217
218
|
"@types/invariant": "^2.2.30",
|
|
@@ -224,12 +225,13 @@
|
|
|
224
225
|
"react": "^18.3.1",
|
|
225
226
|
"react-dom": "^18.3.1",
|
|
226
227
|
"ts-jest": "^29.1.0",
|
|
228
|
+
"ts-node": "^10.9.1",
|
|
227
229
|
"typescript": "^5",
|
|
228
230
|
"webpack": "^5.96.1",
|
|
229
|
-
"@modern-js/app-tools": "2.
|
|
230
|
-
"@modern-js/core": "2.
|
|
231
|
-
"@scripts/build": "2.
|
|
232
|
-
"@scripts/jest-config": "2.
|
|
231
|
+
"@modern-js/app-tools": "2.62.1",
|
|
232
|
+
"@modern-js/core": "2.62.1",
|
|
233
|
+
"@scripts/build": "2.62.1",
|
|
234
|
+
"@scripts/jest-config": "2.62.1"
|
|
233
235
|
},
|
|
234
236
|
"sideEffects": false,
|
|
235
237
|
"publishConfig": {
|
|
@@ -240,7 +242,8 @@
|
|
|
240
242
|
"scripts": {
|
|
241
243
|
"dev": "modern-lib build --watch",
|
|
242
244
|
"new": "modern-lib new",
|
|
243
|
-
"build": "modern-lib build",
|
|
245
|
+
"build": "modern-lib build && pnpm run gen-static",
|
|
246
|
+
"gen-static": "ts-node ./scripts/gen-static.ts",
|
|
244
247
|
"test": "jest"
|
|
245
248
|
}
|
|
246
249
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { fs } from '@modern-js/utils';
|
|
3
|
+
import {
|
|
4
|
+
modernInline,
|
|
5
|
+
runRouterDataFnStr,
|
|
6
|
+
runWindowFnStr,
|
|
7
|
+
} from '../src/router/runtime/constants';
|
|
8
|
+
|
|
9
|
+
(async () => {
|
|
10
|
+
const targetDir = path.join(__dirname, '../static');
|
|
11
|
+
await fs.ensureDir(targetDir);
|
|
12
|
+
|
|
13
|
+
const modernDefineInitPath = path.join(targetDir, 'modern-inline.js');
|
|
14
|
+
await fs.writeFile(modernDefineInitPath, modernInline, 'utf-8');
|
|
15
|
+
|
|
16
|
+
const runRouterDataFilePath = path.join(
|
|
17
|
+
targetDir,
|
|
18
|
+
'modern-run-router-data-fn.js',
|
|
19
|
+
);
|
|
20
|
+
await fs.writeFile(runRouterDataFilePath, runRouterDataFnStr, 'utf-8');
|
|
21
|
+
|
|
22
|
+
const runWindowFilePath = path.join(targetDir, 'modern-run-window-fn.js');
|
|
23
|
+
await fs.writeFile(runWindowFilePath, runWindowFnStr, 'utf-8');
|
|
24
|
+
|
|
25
|
+
console.info('Generate static files successfully');
|
|
26
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function runWindowFn(){window[document.currentScript.getAttribute("data-fn-name")](...JSON.parse(document.currentScript.getAttribute("data-fn-args")))}function runRouterDataFn(){_ROUTER_DATA[document.currentScript.getAttribute("data-fn-name")](...JSON.parse(document.currentScript.getAttribute("data-fn-args")))}function initRouterData(e){var r=document.getElementById(e);if(r)try{_ROUTER_DATA=JSON.parse(r.textContent)}catch(r){console.error("parse ".concat(e," error"),t),_ROUTER_DATA={}}};initRouterData('__MODERN_ROUTER_DATA__');_ROUTER_DATA.s = function s(r,e){_ROUTER_DATA.r=_ROUTER_DATA.r||{},_ROUTER_DATA.r[r]=_ROUTER_DATA.r[r]||{};return new Promise((function(A,R){_ROUTER_DATA.r[r][e]={resolve:A,reject:R}}))};_ROUTER_DATA.r = function r(e,r,o,A){A?_ROUTER_DATA.r[e][r].reject(A):_ROUTER_DATA.r[e][r].resolve(o)};_ROUTER_DATA.p = function p(e,r){return void 0!==r?Promise.reject(new Error(r.message)):Promise.resolve(e)};function mergeLoaderData(e,n){const r=n.reduce((function(e,{key:n,routerDataFnName:r,routerDataFnArgs:a}){const t=a.map((e=>{if("undefined"!==e&&null!==e)return JSON.parse(e)}));return console.info("args",t),{...e,[n]:_ROUTER_DATA[r](...t)}}),{});Object.assign(_ROUTER_DATA.loaderData[e],r)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
runRouterDataFn();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
runWindowFn();
|