@modern-js/plugin-garfish 2.55.0 → 2.56.1-alpha.0
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/cli/index.js +3 -1
- package/dist/cjs/cli/template.js +8 -4
- package/dist/cjs/runtime/index.js +3 -3
- package/dist/cjs/runtime/provider.js +25 -9
- package/dist/cjs/runtime/utils.js +30 -0
- package/dist/esm/cli/index.js +2 -1
- package/dist/esm/cli/template.js +1 -1
- package/dist/esm/runtime/index.js +2 -2
- package/dist/esm/runtime/provider.js +51 -10
- package/dist/esm/runtime/utils.js +6 -0
- package/dist/esm-node/cli/index.js +3 -1
- package/dist/esm-node/cli/template.js +8 -4
- package/dist/esm-node/runtime/index.js +2 -2
- package/dist/esm-node/runtime/provider.js +25 -9
- package/dist/esm-node/runtime/utils.js +6 -0
- package/dist/types/runtime/index.d.ts +1 -1
- package/dist/types/runtime/provider.d.ts +8 -2
- package/dist/types/runtime/utils.d.ts +1 -0
- package/package.json +11 -12
- package/dist/cjs/runtime/render.js +0 -81
- package/dist/esm/runtime/render.js +0 -77
- package/dist/esm-node/runtime/render.js +0 -56
- package/dist/types/runtime/render.d.ts +0 -5
package/dist/cjs/cli/index.js
CHANGED
|
@@ -122,7 +122,9 @@ const garfishPlugin = () => ({
|
|
|
122
122
|
},
|
|
123
123
|
source: {
|
|
124
124
|
alias: {
|
|
125
|
-
[`@${metaName}/runtime/garfish`]: `@${metaName}/plugin-garfish/runtime
|
|
125
|
+
[`@${metaName}/runtime/garfish`]: `@${metaName}/plugin-garfish/runtime`,
|
|
126
|
+
"@meta/runtime/browser": "@modern-js/runtime/browser",
|
|
127
|
+
"@meta/runtime/react": "@modern-js/runtime/react"
|
|
126
128
|
}
|
|
127
129
|
},
|
|
128
130
|
tools: {
|
package/dist/cjs/cli/template.js
CHANGED
|
@@ -23,12 +23,16 @@ __export(template_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(template_exports);
|
|
24
24
|
var import_utils = require("@modern-js/utils");
|
|
25
25
|
const genRenderCode = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, customBootstrap, mountId }) => customEntry ? `import '${entry.replace(srcDirectory, internalSrcAlias)}'
|
|
26
|
-
export * from '${entry.replace(srcDirectory, internalSrcAlias)}'` : `import {
|
|
27
|
-
|
|
26
|
+
export * from '${entry.replace(srcDirectory, internalSrcAlias)}'` : `import { createRoot } from '@${metaName}/runtime/react';
|
|
27
|
+
import { render } from '@${metaName}/runtime/browser';
|
|
28
|
+
import { isRenderGarfish, createProvider } from '@${metaName}/plugin-garfish/runtime';
|
|
28
29
|
${customBootstrap ? `import customBootstrap from '${(0, import_utils.formatImportPath)(customBootstrap.replace(srcDirectory, internalSrcAlias))}';` : "let customBootstrap;"}
|
|
29
|
-
|
|
30
|
+
if (!isRenderGarfish()) {
|
|
31
|
+
const ModernRoot = createRoot();
|
|
32
|
+
${customBootstrap ? `customBootstrap(ModernRoot, () => render(<ModernRoot />, '${mountId || "root"}'));` : `render(<ModernRoot />, '${mountId || "root"}');`};
|
|
33
|
+
}
|
|
30
34
|
|
|
31
|
-
export const provider = createProvider(
|
|
35
|
+
export const provider = createProvider('${mountId || "root"}', { customBootstrap });
|
|
32
36
|
`;
|
|
33
37
|
const index = ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId, appendCode = [] }) => `import '@${metaName}/runtime/registry/${entryName}';
|
|
34
38
|
${genRenderCode({
|
|
@@ -33,7 +33,7 @@ __export(runtime_exports, {
|
|
|
33
33
|
default: () => import_plugin.default,
|
|
34
34
|
garfish: () => import_garfish.default,
|
|
35
35
|
garfishPlugin: () => import_plugin.garfishPlugin,
|
|
36
|
-
|
|
36
|
+
isRenderGarfish: () => import_utils.isRenderGarfish,
|
|
37
37
|
useModuleApp: () => import_useModuleApps.useModuleApp,
|
|
38
38
|
useModuleApps: () => import_useModuleApps.useModuleApps
|
|
39
39
|
});
|
|
@@ -41,7 +41,7 @@ module.exports = __toCommonJS(runtime_exports);
|
|
|
41
41
|
var import_plugin = __toESM(require("./plugin"));
|
|
42
42
|
var import_useModuleApps = require("./useModuleApps");
|
|
43
43
|
var import_garfish = __toESM(require("garfish"));
|
|
44
|
-
var
|
|
44
|
+
var import_utils = require("./utils");
|
|
45
45
|
var import_provider = require("./provider");
|
|
46
46
|
// Annotate the CommonJS export names for ESM import in node:
|
|
47
47
|
0 && (module.exports = {
|
|
@@ -49,7 +49,7 @@ var import_provider = require("./provider");
|
|
|
49
49
|
createProvider,
|
|
50
50
|
garfish,
|
|
51
51
|
garfishPlugin,
|
|
52
|
-
|
|
52
|
+
isRenderGarfish,
|
|
53
53
|
useModuleApp,
|
|
54
54
|
useModuleApps
|
|
55
55
|
});
|
|
@@ -22,20 +22,36 @@ __export(provider_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(provider_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
-
var import_react = require("@
|
|
25
|
+
var import_react = require("@meta/runtime/react");
|
|
26
|
+
var import_browser = require("@meta/runtime/browser");
|
|
26
27
|
var import_react_dom = require("react-dom");
|
|
27
|
-
|
|
28
|
-
function createProvider(id, customBootstrap) {
|
|
28
|
+
function createProvider(id, { customBootstrap, beforeRender } = {}) {
|
|
29
29
|
return ({ basename, dom }) => {
|
|
30
30
|
let root = null;
|
|
31
31
|
return {
|
|
32
|
-
async render({ basename: basename2, dom: dom2, props
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
appName
|
|
32
|
+
async render({ basename: basename2, dom: dom2, props }) {
|
|
33
|
+
const ModernRoot = (0, import_react.createRoot)(null, {
|
|
34
|
+
router: {
|
|
35
|
+
basename: basename2
|
|
36
|
+
}
|
|
38
37
|
});
|
|
38
|
+
if (customBootstrap) {
|
|
39
|
+
root = await customBootstrap(ModernRoot, () => (0, import_browser.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModernRoot, {
|
|
40
|
+
basename: basename2,
|
|
41
|
+
...props
|
|
42
|
+
}), dom2));
|
|
43
|
+
} else {
|
|
44
|
+
if (beforeRender) {
|
|
45
|
+
await beforeRender(ModernRoot, {
|
|
46
|
+
basename: basename2,
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
root = await (0, import_browser.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModernRoot, {
|
|
51
|
+
basename: basename2,
|
|
52
|
+
...props
|
|
53
|
+
}), dom2);
|
|
54
|
+
}
|
|
39
55
|
},
|
|
40
56
|
destroy({ dom: dom2 }) {
|
|
41
57
|
const node = dom2.querySelector(`#${id || "root"}`) || dom2;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
isRenderGarfish: () => isRenderGarfish
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(utils_exports);
|
|
24
|
+
function isRenderGarfish() {
|
|
25
|
+
return typeof __GARFISH_EXPORTS__ !== "undefined";
|
|
26
|
+
}
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
isRenderGarfish
|
|
30
|
+
});
|
package/dist/esm/cli/index.js
CHANGED
|
@@ -102,12 +102,13 @@ var garfishPlugin = function() {
|
|
|
102
102
|
disableCssExtract = true;
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
+
var _obj;
|
|
105
106
|
return {
|
|
106
107
|
output: {
|
|
107
108
|
disableCssExtract
|
|
108
109
|
},
|
|
109
110
|
source: {
|
|
110
|
-
alias:
|
|
111
|
+
alias: (_obj = {}, _define_property(_obj, "@".concat(metaName, "/runtime/garfish"), "@".concat(metaName, "/plugin-garfish/runtime")), _define_property(_obj, "@meta/runtime/browser", "@modern-js/runtime/browser"), _define_property(_obj, "@meta/runtime/react", "@modern-js/runtime/react"), _obj)
|
|
111
112
|
},
|
|
112
113
|
tools: {
|
|
113
114
|
devServer: {
|
package/dist/esm/cli/template.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { formatImportPath } from "@modern-js/utils";
|
|
2
2
|
var genRenderCode = function(param) {
|
|
3
3
|
var srcDirectory = param.srcDirectory, internalSrcAlias = param.internalSrcAlias, metaName = param.metaName, entry = param.entry, customEntry = param.customEntry, customBootstrap = param.customBootstrap, mountId = param.mountId;
|
|
4
|
-
return customEntry ? "import '".concat(entry.replace(srcDirectory, internalSrcAlias), "'\nexport * from '").concat(entry.replace(srcDirectory, internalSrcAlias), "'") : "import {
|
|
4
|
+
return customEntry ? "import '".concat(entry.replace(srcDirectory, internalSrcAlias), "'\nexport * from '").concat(entry.replace(srcDirectory, internalSrcAlias), "'") : "import { createRoot } from '@".concat(metaName, "/runtime/react';\nimport { render } from '@").concat(metaName, "/runtime/browser';\nimport { isRenderGarfish, createProvider } from '@").concat(metaName, "/plugin-garfish/runtime';\n").concat(customBootstrap ? "import customBootstrap from '".concat(formatImportPath(customBootstrap.replace(srcDirectory, internalSrcAlias)), "';") : "let customBootstrap;", "\nif (!isRenderGarfish()) {\n const ModernRoot = createRoot();\n ").concat(customBootstrap ? "customBootstrap(ModernRoot, () => render(<ModernRoot />, '".concat(mountId || "root", "'));") : "render(<ModernRoot />, '".concat(mountId || "root", "');"), ";\n}\n\nexport const provider = createProvider('").concat(mountId || "root", "', { customBootstrap });\n");
|
|
5
5
|
};
|
|
6
6
|
var index = function(param) {
|
|
7
7
|
var srcDirectory = param.srcDirectory, internalSrcAlias = param.internalSrcAlias, metaName = param.metaName, entry = param.entry, entryName = param.entryName, customEntry = param.customEntry, customBootstrap = param.customBootstrap, mountId = param.mountId, _param_appendCode = param.appendCode, appendCode = _param_appendCode === void 0 ? [] : _param_appendCode;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as default2, garfishPlugin } from "./plugin";
|
|
2
2
|
import { useModuleApps, useModuleApp } from "./useModuleApps";
|
|
3
3
|
import { default as default3, default as default4 } from "garfish";
|
|
4
|
-
import {
|
|
4
|
+
import { isRenderGarfish } from "./utils";
|
|
5
5
|
import { createProvider } from "./provider";
|
|
6
6
|
export {
|
|
7
7
|
default3 as Garfish,
|
|
@@ -9,7 +9,7 @@ export {
|
|
|
9
9
|
default2 as default,
|
|
10
10
|
default4 as garfish,
|
|
11
11
|
garfishPlugin,
|
|
12
|
-
|
|
12
|
+
isRenderGarfish,
|
|
13
13
|
useModuleApp,
|
|
14
14
|
useModuleApps
|
|
15
15
|
};
|
|
@@ -2,31 +2,72 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
|
2
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
3
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import { createRoot } from "@
|
|
5
|
+
import { createRoot } from "@meta/runtime/react";
|
|
6
|
+
import { render } from "@meta/runtime/browser";
|
|
6
7
|
import { createPortal, unmountComponentAtNode } from "react-dom";
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
function createProvider(id) {
|
|
9
|
+
var _ref = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, customBootstrap = _ref.customBootstrap, beforeRender = _ref.beforeRender;
|
|
9
10
|
return function(param) {
|
|
10
11
|
var basename = param.basename, dom = param.dom;
|
|
11
12
|
var root = null;
|
|
12
13
|
return {
|
|
13
|
-
render: function
|
|
14
|
-
var basename2 = param2.basename, dom2 = param2.dom, props = param2.props
|
|
14
|
+
render: function render1(param2) {
|
|
15
|
+
var basename2 = param2.basename, dom2 = param2.dom, props = param2.props;
|
|
15
16
|
return _async_to_generator(function() {
|
|
17
|
+
var ModernRoot;
|
|
16
18
|
return _ts_generator(this, function(_state) {
|
|
17
19
|
switch (_state.label) {
|
|
18
20
|
case 0:
|
|
21
|
+
ModernRoot = createRoot(null, {
|
|
22
|
+
router: {
|
|
23
|
+
basename: basename2
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
if (!customBootstrap)
|
|
27
|
+
return [
|
|
28
|
+
3,
|
|
29
|
+
2
|
|
30
|
+
];
|
|
19
31
|
return [
|
|
20
32
|
4,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
props,
|
|
25
|
-
appName
|
|
33
|
+
customBootstrap(ModernRoot, function() {
|
|
34
|
+
return render(/* @__PURE__ */ _jsx(ModernRoot, _object_spread({
|
|
35
|
+
basename: basename2
|
|
36
|
+
}, props)), dom2);
|
|
26
37
|
})
|
|
27
38
|
];
|
|
28
39
|
case 1:
|
|
29
40
|
root = _state.sent();
|
|
41
|
+
return [
|
|
42
|
+
3,
|
|
43
|
+
6
|
|
44
|
+
];
|
|
45
|
+
case 2:
|
|
46
|
+
if (!beforeRender)
|
|
47
|
+
return [
|
|
48
|
+
3,
|
|
49
|
+
4
|
|
50
|
+
];
|
|
51
|
+
return [
|
|
52
|
+
4,
|
|
53
|
+
beforeRender(ModernRoot, _object_spread({
|
|
54
|
+
basename: basename2
|
|
55
|
+
}, props))
|
|
56
|
+
];
|
|
57
|
+
case 3:
|
|
58
|
+
_state.sent();
|
|
59
|
+
_state.label = 4;
|
|
60
|
+
case 4:
|
|
61
|
+
return [
|
|
62
|
+
4,
|
|
63
|
+
render(/* @__PURE__ */ _jsx(ModernRoot, _object_spread({
|
|
64
|
+
basename: basename2
|
|
65
|
+
}, props)), dom2)
|
|
66
|
+
];
|
|
67
|
+
case 5:
|
|
68
|
+
root = _state.sent();
|
|
69
|
+
_state.label = 6;
|
|
70
|
+
case 6:
|
|
30
71
|
return [
|
|
31
72
|
2
|
|
32
73
|
];
|
|
@@ -96,7 +96,9 @@ const garfishPlugin = () => ({
|
|
|
96
96
|
},
|
|
97
97
|
source: {
|
|
98
98
|
alias: {
|
|
99
|
-
[`@${metaName}/runtime/garfish`]: `@${metaName}/plugin-garfish/runtime
|
|
99
|
+
[`@${metaName}/runtime/garfish`]: `@${metaName}/plugin-garfish/runtime`,
|
|
100
|
+
"@meta/runtime/browser": "@modern-js/runtime/browser",
|
|
101
|
+
"@meta/runtime/react": "@modern-js/runtime/react"
|
|
100
102
|
}
|
|
101
103
|
},
|
|
102
104
|
tools: {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { formatImportPath } from "@modern-js/utils";
|
|
2
2
|
const genRenderCode = ({ srcDirectory, internalSrcAlias, metaName, entry, customEntry, customBootstrap, mountId }) => customEntry ? `import '${entry.replace(srcDirectory, internalSrcAlias)}'
|
|
3
|
-
export * from '${entry.replace(srcDirectory, internalSrcAlias)}'` : `import {
|
|
4
|
-
|
|
3
|
+
export * from '${entry.replace(srcDirectory, internalSrcAlias)}'` : `import { createRoot } from '@${metaName}/runtime/react';
|
|
4
|
+
import { render } from '@${metaName}/runtime/browser';
|
|
5
|
+
import { isRenderGarfish, createProvider } from '@${metaName}/plugin-garfish/runtime';
|
|
5
6
|
${customBootstrap ? `import customBootstrap from '${formatImportPath(customBootstrap.replace(srcDirectory, internalSrcAlias))}';` : "let customBootstrap;"}
|
|
6
|
-
|
|
7
|
+
if (!isRenderGarfish()) {
|
|
8
|
+
const ModernRoot = createRoot();
|
|
9
|
+
${customBootstrap ? `customBootstrap(ModernRoot, () => render(<ModernRoot />, '${mountId || "root"}'));` : `render(<ModernRoot />, '${mountId || "root"}');`};
|
|
10
|
+
}
|
|
7
11
|
|
|
8
|
-
export const provider = createProvider(
|
|
12
|
+
export const provider = createProvider('${mountId || "root"}', { customBootstrap });
|
|
9
13
|
`;
|
|
10
14
|
const index = ({ srcDirectory, internalSrcAlias, metaName, entry, entryName, customEntry, customBootstrap, mountId, appendCode = [] }) => `import '@${metaName}/runtime/registry/${entryName}';
|
|
11
15
|
${genRenderCode({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as default2, garfishPlugin } from "./plugin";
|
|
2
2
|
import { useModuleApps, useModuleApp } from "./useModuleApps";
|
|
3
3
|
import { default as default3, default as default4 } from "garfish";
|
|
4
|
-
import {
|
|
4
|
+
import { isRenderGarfish } from "./utils";
|
|
5
5
|
import { createProvider } from "./provider";
|
|
6
6
|
export {
|
|
7
7
|
default3 as Garfish,
|
|
@@ -9,7 +9,7 @@ export {
|
|
|
9
9
|
default2 as default,
|
|
10
10
|
default4 as garfish,
|
|
11
11
|
garfishPlugin,
|
|
12
|
-
|
|
12
|
+
isRenderGarfish,
|
|
13
13
|
useModuleApp,
|
|
14
14
|
useModuleApps
|
|
15
15
|
};
|
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createRoot } from "@
|
|
2
|
+
import { createRoot } from "@meta/runtime/react";
|
|
3
|
+
import { render } from "@meta/runtime/browser";
|
|
3
4
|
import { createPortal, unmountComponentAtNode } from "react-dom";
|
|
4
|
-
|
|
5
|
-
function createProvider(id, customBootstrap) {
|
|
5
|
+
function createProvider(id, { customBootstrap, beforeRender } = {}) {
|
|
6
6
|
return ({ basename, dom }) => {
|
|
7
7
|
let root = null;
|
|
8
8
|
return {
|
|
9
|
-
async render({ basename: basename2, dom: dom2, props
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
appName
|
|
9
|
+
async render({ basename: basename2, dom: dom2, props }) {
|
|
10
|
+
const ModernRoot = createRoot(null, {
|
|
11
|
+
router: {
|
|
12
|
+
basename: basename2
|
|
13
|
+
}
|
|
15
14
|
});
|
|
15
|
+
if (customBootstrap) {
|
|
16
|
+
root = await customBootstrap(ModernRoot, () => render(/* @__PURE__ */ _jsx(ModernRoot, {
|
|
17
|
+
basename: basename2,
|
|
18
|
+
...props
|
|
19
|
+
}), dom2));
|
|
20
|
+
} else {
|
|
21
|
+
if (beforeRender) {
|
|
22
|
+
await beforeRender(ModernRoot, {
|
|
23
|
+
basename: basename2,
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
root = await render(/* @__PURE__ */ _jsx(ModernRoot, {
|
|
28
|
+
basename: basename2,
|
|
29
|
+
...props
|
|
30
|
+
}), dom2);
|
|
31
|
+
}
|
|
16
32
|
},
|
|
17
33
|
destroy({ dom: dom2 }) {
|
|
18
34
|
const node = dom2.querySelector(`#${id || "root"}`) || dom2;
|
|
@@ -2,5 +2,5 @@ export { default, garfishPlugin } from './plugin';
|
|
|
2
2
|
export { useModuleApps, useModuleApp } from './useModuleApps';
|
|
3
3
|
export type { Manifest, ModuleInfo, Config } from './useModuleApps';
|
|
4
4
|
export { default as Garfish, default as garfish } from 'garfish';
|
|
5
|
-
export {
|
|
5
|
+
export { isRenderGarfish } from './utils';
|
|
6
6
|
export { createProvider } from './provider';
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
/// <reference types="src/global" />
|
|
3
|
+
import { type RenderFunc } from '@meta/runtime/browser';
|
|
4
|
+
import type { Root } from 'react-dom/client';
|
|
5
|
+
export declare function createProvider(id?: string, { customBootstrap, beforeRender, }?: {
|
|
6
|
+
customBootstrap?: (App: React.ComponentType, render: RenderFunc) => Promise<HTMLElement | Root>;
|
|
7
|
+
beforeRender?: (App: React.ComponentType, props?: Record<string, any>) => Promise<any>;
|
|
8
|
+
}): ({ basename, dom }: {
|
|
3
9
|
basename: string;
|
|
4
10
|
dom: HTMLElement;
|
|
5
11
|
}) => {
|
|
6
|
-
render({ basename, dom, props,
|
|
12
|
+
render({ basename, dom, props, }: {
|
|
7
13
|
basename: string;
|
|
8
14
|
dom: HTMLElement;
|
|
9
15
|
props: any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isRenderGarfish(): boolean;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.56.1-alpha.0",
|
|
19
19
|
"jsnext:source": "./src/cli/index.ts",
|
|
20
20
|
"types": "./dist/types/cli/index.d.ts",
|
|
21
21
|
"typesVersions": {
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"garfish": "^1.8.1",
|
|
62
62
|
"react-loadable": "^5.5.0",
|
|
63
63
|
"@swc/helpers": "0.5.3",
|
|
64
|
-
"@modern-js/utils": "2.
|
|
64
|
+
"@modern-js/utils": "2.56.0"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
|
-
"@modern-js/runtime": "^2.
|
|
67
|
+
"@modern-js/runtime": "^2.56.0",
|
|
68
68
|
"react": ">=17",
|
|
69
69
|
"react-dom": ">=17"
|
|
70
70
|
},
|
|
@@ -83,19 +83,18 @@
|
|
|
83
83
|
"react-dom": "^18",
|
|
84
84
|
"react-router-dom": "6.22.0",
|
|
85
85
|
"typescript": "^5",
|
|
86
|
-
"@modern-js/
|
|
87
|
-
"@modern-js/
|
|
88
|
-
"@
|
|
89
|
-
"@
|
|
90
|
-
"@
|
|
91
|
-
"@
|
|
92
|
-
"@modern-js/
|
|
86
|
+
"@modern-js/app-tools": "2.56.0",
|
|
87
|
+
"@modern-js/plugin-router-v5": "2.56.0",
|
|
88
|
+
"@scripts/build": "2.56.0",
|
|
89
|
+
"@modern-js/types": "2.56.0",
|
|
90
|
+
"@scripts/jest-config": "2.56.0",
|
|
91
|
+
"@modern-js/runtime": "2.56.0",
|
|
92
|
+
"@modern-js/core": "2.56.0"
|
|
93
93
|
},
|
|
94
94
|
"sideEffects": false,
|
|
95
95
|
"publishConfig": {
|
|
96
96
|
"registry": "https://registry.npmjs.org/",
|
|
97
|
-
"access": "public"
|
|
98
|
-
"provenance": true
|
|
97
|
+
"access": "public"
|
|
99
98
|
},
|
|
100
99
|
"scripts": {
|
|
101
100
|
"new": "modern-lib new",
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var render_exports = {};
|
|
20
|
-
__export(render_exports, {
|
|
21
|
-
garfishRender: () => garfishRender,
|
|
22
|
-
isRenderGarfish: () => isRenderGarfish
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(render_exports);
|
|
25
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
-
var import_browser = require("@modern-js/runtime/browser");
|
|
27
|
-
var import_react = require("@modern-js/runtime/react");
|
|
28
|
-
function isRenderGarfish(params) {
|
|
29
|
-
const renderByGarfish = typeof __GARFISH_EXPORTS__ !== "undefined" || typeof window !== "undefined" && window.Garfish && window.Garfish.activeApps && window.Garfish.activeApps.some((app) => {
|
|
30
|
-
var _app_appInfo;
|
|
31
|
-
return ((_app_appInfo = app.appInfo) === null || _app_appInfo === void 0 ? void 0 : _app_appInfo.name) === (params === null || params === void 0 ? void 0 : params.appName);
|
|
32
|
-
});
|
|
33
|
-
return renderByGarfish;
|
|
34
|
-
}
|
|
35
|
-
function canContinueRender({ dom, appName }) {
|
|
36
|
-
const renderByGarfish = isRenderGarfish({
|
|
37
|
-
appName
|
|
38
|
-
});
|
|
39
|
-
const renderByProvider = dom || appName;
|
|
40
|
-
if (renderByGarfish) {
|
|
41
|
-
if (renderByProvider) {
|
|
42
|
-
return true;
|
|
43
|
-
} else {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
} else {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function garfishRender(mountId, customBootstrap, _params) {
|
|
51
|
-
const { basename, props, dom, appName } = (
|
|
52
|
-
// eslint-disable-next-line prefer-rest-params
|
|
53
|
-
typeof arguments[2] === "object" && arguments[2] || {}
|
|
54
|
-
);
|
|
55
|
-
if (canContinueRender({
|
|
56
|
-
dom,
|
|
57
|
-
appName
|
|
58
|
-
})) {
|
|
59
|
-
const ModernRoot = (0, import_react.createRoot)(null, {
|
|
60
|
-
router: {
|
|
61
|
-
basename
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
if (customBootstrap) {
|
|
65
|
-
return customBootstrap(ModernRoot, () => (0, import_browser.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModernRoot, {
|
|
66
|
-
basename,
|
|
67
|
-
...props
|
|
68
|
-
}), dom || mountId));
|
|
69
|
-
}
|
|
70
|
-
return (0, import_browser.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ModernRoot, {
|
|
71
|
-
basename,
|
|
72
|
-
...props
|
|
73
|
-
}), dom || mountId);
|
|
74
|
-
}
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
78
|
-
0 && (module.exports = {
|
|
79
|
-
garfishRender,
|
|
80
|
-
isRenderGarfish
|
|
81
|
-
});
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import { render } from "@modern-js/runtime/browser";
|
|
6
|
-
import { createRoot } from "@modern-js/runtime/react";
|
|
7
|
-
function isRenderGarfish(params) {
|
|
8
|
-
var renderByGarfish = typeof __GARFISH_EXPORTS__ !== "undefined" || typeof window !== "undefined" && window.Garfish && window.Garfish.activeApps && window.Garfish.activeApps.some(function(app) {
|
|
9
|
-
var _app_appInfo;
|
|
10
|
-
return ((_app_appInfo = app.appInfo) === null || _app_appInfo === void 0 ? void 0 : _app_appInfo.name) === (params === null || params === void 0 ? void 0 : params.appName);
|
|
11
|
-
});
|
|
12
|
-
return renderByGarfish;
|
|
13
|
-
}
|
|
14
|
-
function canContinueRender(param) {
|
|
15
|
-
var dom = param.dom, appName = param.appName;
|
|
16
|
-
var renderByGarfish = isRenderGarfish({
|
|
17
|
-
appName
|
|
18
|
-
});
|
|
19
|
-
var renderByProvider = dom || appName;
|
|
20
|
-
if (renderByGarfish) {
|
|
21
|
-
if (renderByProvider) {
|
|
22
|
-
return true;
|
|
23
|
-
} else {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
} else {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
function garfishRender(mountId, customBootstrap, _params) {
|
|
31
|
-
return _garfishRender.apply(this, arguments);
|
|
32
|
-
}
|
|
33
|
-
function _garfishRender() {
|
|
34
|
-
_garfishRender = _async_to_generator(function(mountId, customBootstrap, _params) {
|
|
35
|
-
var _ref, basename, props, dom, appName, ModernRoot;
|
|
36
|
-
var _arguments = arguments;
|
|
37
|
-
return _ts_generator(this, function(_state) {
|
|
38
|
-
_ref = // eslint-disable-next-line prefer-rest-params
|
|
39
|
-
typeof _arguments[2] === "object" && _arguments[2] || {}, basename = _ref.basename, props = _ref.props, dom = _ref.dom, appName = _ref.appName;
|
|
40
|
-
if (canContinueRender({
|
|
41
|
-
dom,
|
|
42
|
-
appName
|
|
43
|
-
})) {
|
|
44
|
-
ModernRoot = createRoot(null, {
|
|
45
|
-
router: {
|
|
46
|
-
basename
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
if (customBootstrap) {
|
|
50
|
-
return [
|
|
51
|
-
2,
|
|
52
|
-
customBootstrap(ModernRoot, function() {
|
|
53
|
-
return render(/* @__PURE__ */ _jsx(ModernRoot, _object_spread({
|
|
54
|
-
basename
|
|
55
|
-
}, props)), dom || mountId);
|
|
56
|
-
})
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
return [
|
|
60
|
-
2,
|
|
61
|
-
render(/* @__PURE__ */ _jsx(ModernRoot, _object_spread({
|
|
62
|
-
basename
|
|
63
|
-
}, props)), dom || mountId)
|
|
64
|
-
];
|
|
65
|
-
}
|
|
66
|
-
return [
|
|
67
|
-
2,
|
|
68
|
-
null
|
|
69
|
-
];
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
return _garfishRender.apply(this, arguments);
|
|
73
|
-
}
|
|
74
|
-
export {
|
|
75
|
-
garfishRender,
|
|
76
|
-
isRenderGarfish
|
|
77
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { render } from "@modern-js/runtime/browser";
|
|
3
|
-
import { createRoot } from "@modern-js/runtime/react";
|
|
4
|
-
function isRenderGarfish(params) {
|
|
5
|
-
const renderByGarfish = typeof __GARFISH_EXPORTS__ !== "undefined" || typeof window !== "undefined" && window.Garfish && window.Garfish.activeApps && window.Garfish.activeApps.some((app) => {
|
|
6
|
-
var _app_appInfo;
|
|
7
|
-
return ((_app_appInfo = app.appInfo) === null || _app_appInfo === void 0 ? void 0 : _app_appInfo.name) === (params === null || params === void 0 ? void 0 : params.appName);
|
|
8
|
-
});
|
|
9
|
-
return renderByGarfish;
|
|
10
|
-
}
|
|
11
|
-
function canContinueRender({ dom, appName }) {
|
|
12
|
-
const renderByGarfish = isRenderGarfish({
|
|
13
|
-
appName
|
|
14
|
-
});
|
|
15
|
-
const renderByProvider = dom || appName;
|
|
16
|
-
if (renderByGarfish) {
|
|
17
|
-
if (renderByProvider) {
|
|
18
|
-
return true;
|
|
19
|
-
} else {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
} else {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async function garfishRender(mountId, customBootstrap, _params) {
|
|
27
|
-
const { basename, props, dom, appName } = (
|
|
28
|
-
// eslint-disable-next-line prefer-rest-params
|
|
29
|
-
typeof arguments[2] === "object" && arguments[2] || {}
|
|
30
|
-
);
|
|
31
|
-
if (canContinueRender({
|
|
32
|
-
dom,
|
|
33
|
-
appName
|
|
34
|
-
})) {
|
|
35
|
-
const ModernRoot = createRoot(null, {
|
|
36
|
-
router: {
|
|
37
|
-
basename
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
if (customBootstrap) {
|
|
41
|
-
return customBootstrap(ModernRoot, () => render(/* @__PURE__ */ _jsx(ModernRoot, {
|
|
42
|
-
basename,
|
|
43
|
-
...props
|
|
44
|
-
}), dom || mountId));
|
|
45
|
-
}
|
|
46
|
-
return render(/* @__PURE__ */ _jsx(ModernRoot, {
|
|
47
|
-
basename,
|
|
48
|
-
...props
|
|
49
|
-
}), dom || mountId);
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
export {
|
|
54
|
-
garfishRender,
|
|
55
|
-
isRenderGarfish
|
|
56
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare function isRenderGarfish(params?: {
|
|
3
|
-
appName?: string;
|
|
4
|
-
}): boolean;
|
|
5
|
-
export declare function garfishRender(mountId?: string, customBootstrap?: (App: React.ComponentType, render: () => void) => HTMLElement | null, _params?: any): Promise<HTMLElement | import("react-dom/client").Root | null>;
|