@modern-js/plugin-garfish 2.13.4 → 2.14.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/CHANGELOG.md +25 -0
- package/dist/cjs/cli/utils.js +10 -4
- package/dist/esm/cli/utils.js +2 -2
- package/dist/esm-node/cli/utils.js +10 -4
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @modern-js/plugin-garfish
|
|
2
2
|
|
|
3
|
+
## 2.14.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ef40e1a: fix(garfish): pass basename to subApp
|
|
8
|
+
test(garfish): add e2e test for passing basename
|
|
9
|
+
- Updated dependencies [4779152]
|
|
10
|
+
- Updated dependencies [9321bef]
|
|
11
|
+
- Updated dependencies [c921f30]
|
|
12
|
+
- Updated dependencies [ead58c8]
|
|
13
|
+
- Updated dependencies [afe5d35]
|
|
14
|
+
- Updated dependencies [4c74ea7]
|
|
15
|
+
- Updated dependencies [9b45c58]
|
|
16
|
+
- Updated dependencies [76ad173]
|
|
17
|
+
- Updated dependencies [394470c]
|
|
18
|
+
- Updated dependencies [8b634f9]
|
|
19
|
+
- Updated dependencies [1b3afa0]
|
|
20
|
+
- Updated dependencies [52d0cb1]
|
|
21
|
+
- Updated dependencies [28721cb]
|
|
22
|
+
- Updated dependencies [60a81d0]
|
|
23
|
+
- Updated dependencies [dacef96]
|
|
24
|
+
- Updated dependencies [16399fd]
|
|
25
|
+
- @modern-js/utils@2.14.0
|
|
26
|
+
- @modern-js/runtime@2.14.0
|
|
27
|
+
|
|
3
28
|
## 2.13.4
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/cjs/cli/utils.js
CHANGED
|
@@ -93,16 +93,22 @@ function generateRouterPlugin (basename,routerConfig) {
|
|
|
93
93
|
return router(routerConfig);
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
function generateRootDom ({ dom }) {
|
|
96
|
+
function generateRootDom ({ dom, props, basename }) {
|
|
97
97
|
const mountNode = dom ? (dom.querySelector('#' + MOUNT_ID) || dom) : document.getElementById(MOUNT_ID);
|
|
98
|
-
|
|
98
|
+
const mergedProps = {
|
|
99
|
+
...props,
|
|
100
|
+
basename,
|
|
101
|
+
}
|
|
102
|
+
return { mountNode, props: mergedProps }
|
|
99
103
|
}
|
|
100
104
|
`;
|
|
101
105
|
const makeRenderFunction = (code) => {
|
|
102
106
|
const inGarfishToRender = `
|
|
103
|
-
|
|
107
|
+
let { basename, props, dom, appName } = typeof arguments[0] === 'object' && arguments[0] || {};
|
|
104
108
|
if (!canContinueRender({ dom, appName })) return null;
|
|
105
|
-
|
|
109
|
+
const rootDomInfo = generateRootDom({dom, props, basename});
|
|
110
|
+
let mountNode = rootDomInfo.mountNode;
|
|
111
|
+
props = rootDomInfo.props;
|
|
106
112
|
`;
|
|
107
113
|
return inGarfishToRender + code.replace(`router(`, `generateRouterPlugin(basename,`).replace(/MOUNT_ID/g, "mountNode").replace(`createApp({`, "createApp({ props,").replace(
|
|
108
114
|
`bootstrap(AppWrapper, mountNode, root`,
|
package/dist/esm/cli/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var makeProvider = function() {
|
|
2
|
-
return "\nexport const provider = function ({basename, dom}) {\n return {\n render({basename, dom, props, appName}) {\n render({ props, basename, dom, appName });\n },\n destroy({ dom }) {\n const node = dom.querySelector('#' + MOUNT_ID) || dom;\n\n if (node) {\n if (IS_REACT18) {\n root.unmount();\n } else {\n unmountComponentAtNode(node);\n }\n }\n },\n SubModuleComponent: (props) => {\n const SubApp = render({props, basename});\n\n return createPortal(<SubApp />, dom.querySelector('#' + MOUNT_ID) || dom);\n },\n jupiter_submodule_app_key: (props) => {\n const SubApp = render({props, basename});\n\n return createPortal(<SubApp />, dom.querySelector('#' + MOUNT_ID) || dom);\n }\n }\n};\n\nif (typeof __GARFISH_EXPORTS__ !== 'undefined') {\n __GARFISH_EXPORTS__.provider = provider;\n}\n\nfunction canContinueRender ({ dom, appName }) {\n var renderByGarfish =\n typeof __GARFISH_EXPORTS__ !== 'undefined'\n || typeof window !== 'undefined' && window.Garfish && window.Garfish.activeApps && window.Garfish.activeApps.some((app)=>app.appInfo.name === appName);\n let renderByProvider = dom || appName;\n if (renderByGarfish) {\n // Runs in the Garfish environment and is rendered by the provider\n if (renderByProvider) {\n return true;\n } else {\n // Runs in the Garfish environment and is not rendered by the provider\n return false;\n }\n } else {\n // Running in a non-Garfish environment\n return true;\n }\n}\n\nfunction generateRouterPlugin (basename,routerConfig) {\n if (basename) {\n routerConfig.basename = basename;\n if (routerConfig.supportHtml5History !== false) {\n if (!routerConfig.historyOptions) {\n routerConfig.historyOptions = {\n basename: basename\n };\n } else {\n routerConfig.historyOptions.basename = basename;\n }\n }\n }\n return router(routerConfig);\n}\n\nfunction generateRootDom ({ dom }) {\n const mountNode = dom ? (dom.querySelector('#' + MOUNT_ID) || dom) : document.getElementById(MOUNT_ID);\n return { mountNode }\n}\n";
|
|
2
|
+
return "\nexport const provider = function ({basename, dom}) {\n return {\n render({basename, dom, props, appName}) {\n render({ props, basename, dom, appName });\n },\n destroy({ dom }) {\n const node = dom.querySelector('#' + MOUNT_ID) || dom;\n\n if (node) {\n if (IS_REACT18) {\n root.unmount();\n } else {\n unmountComponentAtNode(node);\n }\n }\n },\n SubModuleComponent: (props) => {\n const SubApp = render({props, basename});\n\n return createPortal(<SubApp />, dom.querySelector('#' + MOUNT_ID) || dom);\n },\n jupiter_submodule_app_key: (props) => {\n const SubApp = render({props, basename});\n\n return createPortal(<SubApp />, dom.querySelector('#' + MOUNT_ID) || dom);\n }\n }\n};\n\nif (typeof __GARFISH_EXPORTS__ !== 'undefined') {\n __GARFISH_EXPORTS__.provider = provider;\n}\n\nfunction canContinueRender ({ dom, appName }) {\n var renderByGarfish =\n typeof __GARFISH_EXPORTS__ !== 'undefined'\n || typeof window !== 'undefined' && window.Garfish && window.Garfish.activeApps && window.Garfish.activeApps.some((app)=>app.appInfo.name === appName);\n let renderByProvider = dom || appName;\n if (renderByGarfish) {\n // Runs in the Garfish environment and is rendered by the provider\n if (renderByProvider) {\n return true;\n } else {\n // Runs in the Garfish environment and is not rendered by the provider\n return false;\n }\n } else {\n // Running in a non-Garfish environment\n return true;\n }\n}\n\nfunction generateRouterPlugin (basename,routerConfig) {\n if (basename) {\n routerConfig.basename = basename;\n if (routerConfig.supportHtml5History !== false) {\n if (!routerConfig.historyOptions) {\n routerConfig.historyOptions = {\n basename: basename\n };\n } else {\n routerConfig.historyOptions.basename = basename;\n }\n }\n }\n return router(routerConfig);\n}\n\nfunction generateRootDom ({ dom, props, basename }) {\n const mountNode = dom ? (dom.querySelector('#' + MOUNT_ID) || dom) : document.getElementById(MOUNT_ID);\n const mergedProps = {\n ...props,\n basename,\n }\n return { mountNode, props: mergedProps }\n}\n";
|
|
3
3
|
};
|
|
4
4
|
var makeRenderFunction = function(code) {
|
|
5
|
-
var inGarfishToRender = "\n
|
|
5
|
+
var inGarfishToRender = "\n let { basename, props, dom, appName } = typeof arguments[0] === 'object' && arguments[0] || {};\n if (!canContinueRender({ dom, appName })) return null;\n const rootDomInfo = generateRootDom({dom, props, basename});\n let mountNode = rootDomInfo.mountNode;\n props = rootDomInfo.props;\n ";
|
|
6
6
|
return inGarfishToRender + code.replace("router(", "generateRouterPlugin(basename,").replace(/MOUNT_ID/g, "mountNode").replace("createApp({", "createApp({ props,").replace("bootstrap(AppWrapper, mountNode, root", "bootstrap(AppWrapper, mountNode, root = IS_REACT18 ? ReactDOM.createRoot(mountNode) : null").replace("customBootstrap(AppWrapper", "customBootstrap(AppWrapper, mountNode");
|
|
7
7
|
};
|
|
8
8
|
function getRuntimeConfig(config) {
|
|
@@ -67,16 +67,22 @@ function generateRouterPlugin (basename,routerConfig) {
|
|
|
67
67
|
return router(routerConfig);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
function generateRootDom ({ dom }) {
|
|
70
|
+
function generateRootDom ({ dom, props, basename }) {
|
|
71
71
|
const mountNode = dom ? (dom.querySelector('#' + MOUNT_ID) || dom) : document.getElementById(MOUNT_ID);
|
|
72
|
-
|
|
72
|
+
const mergedProps = {
|
|
73
|
+
...props,
|
|
74
|
+
basename,
|
|
75
|
+
}
|
|
76
|
+
return { mountNode, props: mergedProps }
|
|
73
77
|
}
|
|
74
78
|
`;
|
|
75
79
|
const makeRenderFunction = (code) => {
|
|
76
80
|
const inGarfishToRender = `
|
|
77
|
-
|
|
81
|
+
let { basename, props, dom, appName } = typeof arguments[0] === 'object' && arguments[0] || {};
|
|
78
82
|
if (!canContinueRender({ dom, appName })) return null;
|
|
79
|
-
|
|
83
|
+
const rootDomInfo = generateRootDom({dom, props, basename});
|
|
84
|
+
let mountNode = rootDomInfo.mountNode;
|
|
85
|
+
props = rootDomInfo.props;
|
|
80
86
|
`;
|
|
81
87
|
return inGarfishToRender + code.replace(`router(`, `generateRouterPlugin(basename,`).replace(/MOUNT_ID/g, "mountNode").replace(`createApp({`, "createApp({ props,").replace(
|
|
82
88
|
`bootstrap(AppWrapper, mountNode, root`,
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.
|
|
14
|
+
"version": "2.14.0",
|
|
15
15
|
"jsnext:source": "./src/cli/index.ts",
|
|
16
16
|
"types": "./dist/types/cli/index.d.ts",
|
|
17
17
|
"typesVersions": {
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"garfish": "^1.8.1",
|
|
67
67
|
"hoist-non-react-statics": "^3.3.2",
|
|
68
68
|
"react-loadable": "^5.5.0",
|
|
69
|
-
"@modern-js/utils": "2.
|
|
69
|
+
"@modern-js/utils": "2.14.0"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@modern-js/runtime": "^2.
|
|
72
|
+
"@modern-js/runtime": "^2.14.0"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@testing-library/jest-dom": "^5.16.1",
|
|
@@ -86,13 +86,13 @@
|
|
|
86
86
|
"react-router-dom": "^6.8.1",
|
|
87
87
|
"typescript": "^4",
|
|
88
88
|
"webpack-chain": "^6.5.1",
|
|
89
|
-
"@modern-js/app-tools": "2.
|
|
90
|
-
"@modern-js/core": "2.
|
|
91
|
-
"@modern-js/plugin-router-v5": "2.
|
|
92
|
-
"@modern-js/runtime": "2.
|
|
93
|
-
"@modern-js/types": "2.
|
|
94
|
-
"@scripts/build": "2.
|
|
95
|
-
"@scripts/jest-config": "2.
|
|
89
|
+
"@modern-js/app-tools": "2.14.0",
|
|
90
|
+
"@modern-js/core": "2.14.0",
|
|
91
|
+
"@modern-js/plugin-router-v5": "2.14.0",
|
|
92
|
+
"@modern-js/runtime": "2.14.0",
|
|
93
|
+
"@modern-js/types": "2.14.0",
|
|
94
|
+
"@scripts/build": "2.14.0",
|
|
95
|
+
"@scripts/jest-config": "2.14.0"
|
|
96
96
|
},
|
|
97
97
|
"sideEffects": false,
|
|
98
98
|
"modernConfig": {},
|