piral-core 1.4.0-beta.6280 → 1.4.0-beta.6287
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/app.codegen +1 -0
- package/dist/codegen.js +3 -1
- package/esm/RootListener.js +2 -2
- package/esm/RootListener.js.map +1 -1
- package/esm/components/wrapComponent.js.map +1 -1
- package/esm/modules/element.d.ts +0 -12
- package/esm/modules/element.js +37 -7
- package/esm/modules/element.js.map +1 -1
- package/esm/state/withApi.js +6 -1
- package/esm/state/withApi.js.map +1 -1
- package/esm/tools/codegen.d.ts +1 -0
- package/esm/tools/codegen.js +3 -1
- package/esm/tools/codegen.js.map +1 -1
- package/esm/tools/debugger.js +0 -11
- package/esm/tools/debugger.js.map +1 -1
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.js +1 -0
- package/esm/types/index.js.map +1 -1
- package/esm/types/state.d.ts +5 -0
- package/esm/types/web.d.ts +47 -0
- package/esm/types/web.js +2 -0
- package/esm/types/web.js.map +1 -0
- package/esm/utils/foreign.d.ts +1 -0
- package/esm/utils/foreign.js +1 -0
- package/esm/utils/foreign.js.map +1 -1
- package/lib/RootListener.js +2 -2
- package/lib/RootListener.js.map +1 -1
- package/lib/components/wrapComponent.js.map +1 -1
- package/lib/modules/element.d.ts +0 -12
- package/lib/modules/element.js +36 -6
- package/lib/modules/element.js.map +1 -1
- package/lib/state/withApi.js +6 -1
- package/lib/state/withApi.js.map +1 -1
- package/lib/tools/codegen.d.ts +1 -0
- package/lib/tools/codegen.js +3 -1
- package/lib/tools/codegen.js.map +1 -1
- package/lib/tools/debugger.js +0 -11
- package/lib/tools/debugger.js.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/index.js.map +1 -1
- package/lib/types/state.d.ts +5 -0
- package/lib/types/web.d.ts +47 -0
- package/lib/types/web.js +3 -0
- package/lib/types/web.js.map +1 -0
- package/lib/utils/foreign.d.ts +1 -0
- package/lib/utils/foreign.js +2 -1
- package/lib/utils/foreign.js.map +1 -1
- package/package.json +4 -4
- package/src/RootListener.tsx +2 -2
- package/src/components/wrapComponent.tsx +1 -6
- package/src/modules/element.ts +51 -24
- package/src/state/withApi.test.tsx +6 -1
- package/src/state/withApi.tsx +11 -3
- package/src/tools/codegen.ts +5 -2
- package/src/tools/debugger.ts +0 -11
- package/src/types/index.ts +1 -0
- package/src/types/state.ts +5 -0
- package/src/types/web.ts +53 -0
- package/src/utils/foreign.ts +1 -0
package/lib/state/withApi.js
CHANGED
|
@@ -16,9 +16,14 @@ function getWrapper(wrappers, wrapperType) {
|
|
|
16
16
|
return WrapType || WrapAll || DefaultWrapper;
|
|
17
17
|
}
|
|
18
18
|
function makeWrapper(context, outerProps, wrapperType, errorType) {
|
|
19
|
+
const wrapped = context.readState((m) => m.app.wrap);
|
|
19
20
|
const OuterWrapper = context.readState((m) => getWrapper(m.registry.wrappers, wrapperType));
|
|
20
|
-
|
|
21
|
+
const Wrapper = (props) => (React.createElement(OuterWrapper, { ...outerProps, ...props },
|
|
21
22
|
React.createElement(components_1.ErrorBoundary, { ...outerProps, ...props, errorType: errorType }, props.children)));
|
|
23
|
+
return wrapped
|
|
24
|
+
? (props) => (React.createElement("piral-component", { origin: outerProps.piral.meta.name },
|
|
25
|
+
React.createElement(Wrapper, { ...props })))
|
|
26
|
+
: Wrapper;
|
|
22
27
|
}
|
|
23
28
|
function withApi(context, component, piral, errorType, wrapperType = errorType, captured = {}) {
|
|
24
29
|
const outerProps = { ...captured, piral };
|
package/lib/state/withApi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,8CAA6D;AAC7D,oCAAyC;AAGzC,MAAM,cAAc,GAA0C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEvG,SAAS,UAAU,CAAC,QAAkD,EAAE,WAAmB;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,OAAO,IAAI,QAAQ,EAAE;QACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAChB,oBAAC,OAAO,OAAK,KAAK;YAChB,oBAAC,QAAQ,OAAK,KAAK,GAAI,CACf,CACX,CAAC;KACH;IAED,OAAO,QAAQ,IAAI,OAAO,IAAI,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"withApi.js","sourceRoot":"","sources":["../../src/state/withApi.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,8CAA6D;AAC7D,oCAAyC;AAGzC,MAAM,cAAc,GAA0C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEvG,SAAS,UAAU,CAAC,QAAkD,EAAE,WAAmB;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,OAAO,IAAI,QAAQ,EAAE;QACvB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAChB,oBAAC,OAAO,OAAK,KAAK;YAChB,oBAAC,QAAQ,OAAK,KAAK,GAAI,CACf,CACX,CAAC;KACH;IAED,OAAO,QAAQ,IAAI,OAAO,IAAI,cAAc,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAClB,OAA2B,EAC3B,UAA8B,EAC9B,WAAmB,EACnB,SAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CACzB,oBAAC,YAAY,OAAK,UAAU,KAAM,KAAK;QACrC,oBAAC,0BAAa,OAAK,UAAU,KAAM,KAAK,EAAE,SAAS,EAAE,SAAS,IAC3D,KAAK,CAAC,QAAQ,CACD,CACH,CAChB,CAAC;IAEF,OAAO,OAAO;QACZ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,yCAAiB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;YACjD,oBAAC,OAAO,OAAK,KAAK,GAAI,CACN,CACnB;QACH,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CACrB,OAA2B,EAC3B,SAAoD,EACpD,KAAe,EACf,SAAuB,EACvB,cAAsB,SAAS,EAC/B,QAAQ,GAAG,EAAE;IAEb,MAAM,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,WAAW,CAAS,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACjF,OAAO,IAAA,0BAAa,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAZD,0BAYC"}
|
package/lib/tools/codegen.d.ts
CHANGED
package/lib/tools/codegen.js
CHANGED
|
@@ -106,8 +106,9 @@ function createDependencies(imports, exports, opts) {
|
|
|
106
106
|
}
|
|
107
107
|
exports.createDependencies = createDependencies;
|
|
108
108
|
function createDefaultState(imports, exports, opts) {
|
|
109
|
-
const { root, cat, publicPath } = opts;
|
|
109
|
+
const { root, cat, publicPath, isolation } = opts;
|
|
110
110
|
const routerVersion = getRouterVersion(root);
|
|
111
|
+
const wrap = isolation === 'modern' ? 'true' : 'false';
|
|
111
112
|
imports.push(`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo';`, `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator';`, `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout';`);
|
|
112
113
|
if (routerVersion < 6) {
|
|
113
114
|
imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5'`);
|
|
@@ -127,6 +128,7 @@ function createDefaultState(imports, exports, opts) {
|
|
|
127
128
|
app: {
|
|
128
129
|
error: undefined,
|
|
129
130
|
loading: typeof window !== 'undefined',
|
|
131
|
+
wrap: ${wrap},
|
|
130
132
|
},
|
|
131
133
|
components: {
|
|
132
134
|
ErrorInfo: DefaultErrorInfo,
|
package/lib/tools/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":";;;AAAA,yFAAyF;AACzF,4DAA+D;AAC/D,2BAA8C;AAC9C,+BAA8D;AAE9D,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;QAC3B,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAExC,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;KAChC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB;IACvD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAA,uBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5D,IAAI;QACF,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAClC;IAAC,MAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,cAAc,CAAC;IAE9B,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5B;IAAC,MAAM;QACN,OAAO,CAAC,IAAI,CAAC,oCAAoC,MAAM,uBAAuB,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmB;IACvD,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,CAAC;IAElC,IAAI;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEtD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;gBAChD,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;aACxD;SACF;KACF;IAAC,MAAM,GAAE;IAEV,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY;IACxE,IAAI;QACF,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE1C,0DAA0D;QAC1D,gEAAgE;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC,IAAI,CAAC,YAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
|
package/lib/tools/debugger.js
CHANGED
|
@@ -47,21 +47,10 @@ function integrateDebugger(context, options, debug = {}) {
|
|
|
47
47
|
integrate(dbg) {
|
|
48
48
|
context.dispatch((s) => ({
|
|
49
49
|
...s,
|
|
50
|
-
components: {
|
|
51
|
-
...s.components,
|
|
52
|
-
...dbg.components,
|
|
53
|
-
},
|
|
54
50
|
routes: {
|
|
55
51
|
...s.routes,
|
|
56
52
|
...dbg.routes,
|
|
57
53
|
},
|
|
58
|
-
registry: {
|
|
59
|
-
...s.registry,
|
|
60
|
-
wrappers: {
|
|
61
|
-
...s.registry.wrappers,
|
|
62
|
-
...dbg.wrappers,
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
54
|
}));
|
|
66
55
|
context.state.subscribe((current, previous) => {
|
|
67
56
|
const pilets = current.modules !== previous.modules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":";;;AACA,yDAAgF;AAGhF,SAAgB,iBAAiB,CAC/B,OAA2B,EAC3B,OAA0B,EAC1B,QAAkC,EAAE;IAEpC,IAAA,qCAAiB,EAAC;QAChB,GAAG,KAAK;QACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,CAAC,KAAK;YACf,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;gBAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAEhC,IAAI;oBACF,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACrB;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;aACF;iBAAM;gBACL,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC5B;QACH,CAAC;QACD,SAAS,EAAE,OAAO,CAAC,IAAI;QACvB,eAAe;YACb,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,aAAa;YACX,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,SAAS;YACP,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACzF,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;QACnD,CAAC;QACD,cAAc;YACZ,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,QAAQ,CAAC,IAAI,EAAE,KAAK;YAClB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS;YACP,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,SAAS,CAAC,GAAG;YACX,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,GAAG,CAAC;gBACJ,
|
|
1
|
+
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../src/tools/debugger.ts"],"names":[],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
package/lib/types/index.js
CHANGED
|
@@ -14,4 +14,5 @@ tslib_1.__exportStar(require("./navigation"), exports);
|
|
|
14
14
|
tslib_1.__exportStar(require("./plugin"), exports);
|
|
15
15
|
tslib_1.__exportStar(require("./state"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./utils"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./web"), exports);
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/lib/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,mDAAyB;AACzB,uDAA6B;AAC7B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,gDAAsB"}
|
package/lib/types/state.d.ts
CHANGED
|
@@ -94,6 +94,11 @@ export interface AppState {
|
|
|
94
94
|
* Gets an unrecoverable application error, if any.
|
|
95
95
|
*/
|
|
96
96
|
error: Error | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Gets if the components from the micro frontends should be wrapped
|
|
99
|
+
* in a piral-component element.
|
|
100
|
+
*/
|
|
101
|
+
wrap: boolean;
|
|
97
102
|
}
|
|
98
103
|
/**
|
|
99
104
|
* The Piral global app sub-state container for component registrations.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
export interface PiralComponentProps extends HTMLAttributes<{}> {
|
|
3
|
+
name?: string;
|
|
4
|
+
origin: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PiralExtensionProps extends HTMLAttributes<{}> {
|
|
7
|
+
name: string;
|
|
8
|
+
params: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PiralPortalProps extends HTMLAttributes<{}> {
|
|
11
|
+
pid: string;
|
|
12
|
+
}
|
|
13
|
+
export interface PiralSlotProps extends HTMLAttributes<{}> {
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
namespace JSX {
|
|
17
|
+
interface IntrinsicElements {
|
|
18
|
+
'piral-component': React.DetailedHTMLProps<PiralComponentProps, {}>;
|
|
19
|
+
'piral-extension': React.DetailedHTMLProps<PiralExtensionProps, {}>;
|
|
20
|
+
'piral-portal': React.DetailedHTMLProps<PiralPortalProps, {}>;
|
|
21
|
+
'piral-slot': React.DetailedHTMLProps<PiralSlotProps, {}>;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
interface Window {
|
|
25
|
+
/**
|
|
26
|
+
* Assigns content in form a ReactChild to be rendered later
|
|
27
|
+
* from a foreign container / element in an piral-content
|
|
28
|
+
* child.
|
|
29
|
+
* @param cid The ID of the piral-content node.
|
|
30
|
+
* @param content The ReactChild to be rendered.
|
|
31
|
+
*/
|
|
32
|
+
assignContent(cid: string, content: any): void;
|
|
33
|
+
}
|
|
34
|
+
interface HTMLElementTagNameMap {
|
|
35
|
+
'piral-component': HTMLElement & {
|
|
36
|
+
name?: string;
|
|
37
|
+
origin: string;
|
|
38
|
+
};
|
|
39
|
+
'piral-extension': HTMLElement & {
|
|
40
|
+
params: any;
|
|
41
|
+
name: string;
|
|
42
|
+
empty: any;
|
|
43
|
+
};
|
|
44
|
+
'piral-portal': HTMLElement;
|
|
45
|
+
'piral-slot': HTMLElement;
|
|
46
|
+
}
|
|
47
|
+
}
|
package/lib/types/web.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/types/web.ts"],"names":[],"mappings":""}
|
package/lib/utils/foreign.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ComponentType, ReactPortal } from 'react';
|
|
2
2
|
import { GlobalStateContext, ForeignComponent } from '../types';
|
|
3
3
|
export declare const extensionName = "piral-extension";
|
|
4
|
+
export declare const componentName = "piral-component";
|
|
4
5
|
export declare const contentName = "piral-content";
|
|
5
6
|
export declare const portalName = "piral-portal";
|
|
6
7
|
export declare const slotName = "piral-slot";
|
package/lib/utils/foreign.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderInDom = exports.convertComponent = exports.changeDomPortal = exports.attachDomPortal = exports.slotName = exports.portalName = exports.contentName = exports.extensionName = void 0;
|
|
3
|
+
exports.renderInDom = exports.convertComponent = exports.changeDomPortal = exports.attachDomPortal = exports.slotName = exports.portalName = exports.contentName = exports.componentName = exports.extensionName = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const react_dom_1 = require("react-dom");
|
|
6
6
|
exports.extensionName = 'piral-extension';
|
|
7
|
+
exports.componentName = 'piral-component';
|
|
7
8
|
exports.contentName = 'piral-content';
|
|
8
9
|
exports.portalName = 'piral-portal';
|
|
9
10
|
exports.slotName = 'piral-slot';
|
package/lib/utils/foreign.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign.js","sourceRoot":"","sources":["../../src/utils/foreign.ts"],"names":[],"mappings":";;;AAAA,iCAAkE;AAClE,yCAAyC;AAG5B,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,eAAe,CAAC;AAC9B,QAAA,UAAU,GAAG,cAAc,CAAC;AAC5B,QAAA,QAAQ,GAAG,YAAY,CAAC;AAErC,SAAgB,eAAe,CAC7B,EAAU,EACV,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACrF,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACtB,CAAC;AAVD,0CAUC;AAED,SAAgB,eAAe,CAC7B,EAAU,EACV,OAAoB,EACpB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACnF,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAXD,0CAWC;AAED,SAAgB,gBAAgB,CAC9B,SAAgD,EAChD,SAAY;IAEZ,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;KACvF;IAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CACzB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAS,OAAO,CAAC;IAE3B,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,YAAY,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YACjG,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,MAAM,GAAG,MAAM,CAAC,UAAU,IAAK,MAAqB,CAAC,IAAI,CAAC;KAC3D;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAnBD,kCAmBC"}
|
|
1
|
+
{"version":3,"file":"foreign.js","sourceRoot":"","sources":["../../src/utils/foreign.ts"],"names":[],"mappings":";;;AAAA,iCAAkE;AAClE,yCAAyC;AAG5B,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,aAAa,GAAG,iBAAiB,CAAC;AAClC,QAAA,WAAW,GAAG,eAAe,CAAC;AAC9B,QAAA,UAAU,GAAG,cAAc,CAAC;AAC5B,QAAA,QAAQ,GAAG,YAAY,CAAC;AAErC,SAAgB,eAAe,CAC7B,EAAU,EACV,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACrF,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACtB,CAAC;AAVD,0CAUC;AAED,SAAgB,eAAe,CAC7B,EAAU,EACV,OAAoB,EACpB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAA,qBAAa,EAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAsB,CAAC,CAAC;IACnF,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC;AAXD,0CAWC;AAED,SAAgB,gBAAgB,CAC9B,SAAgD,EAChD,SAAY;IAEZ,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC;KACvF;IAED,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AAC9B,CAAC;AATD,4CASC;AAED,SAAgB,WAAW,CACzB,OAA2B,EAC3B,OAAiC,EACjC,SAAgC,EAChC,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAS,OAAO,CAAC;IAE3B,OAAO,MAAM,EAAE;QACb,IAAI,MAAM,YAAY,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAU,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;YACjG,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;SAChE;QAED,MAAM,GAAG,MAAM,CAAC,UAAU,IAAK,MAAqB,CAAC,IAAI,CAAC;KAC3D;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAnBD,kCAmBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-core",
|
|
3
|
-
"version": "1.4.0-beta.
|
|
3
|
+
"version": "1.4.0-beta.6287",
|
|
4
4
|
"description": "The core library for creating a Piral instance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"portal",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
75
|
"path-to-regexp": "^1.8.0",
|
|
76
|
-
"piral-base": "1.4.0-beta.
|
|
77
|
-
"piral-debug-utils": "1.4.0-beta.
|
|
76
|
+
"piral-base": "1.4.0-beta.6287",
|
|
77
|
+
"piral-debug-utils": "1.4.0-beta.6287",
|
|
78
78
|
"zustand": "^3.0.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"react-router-dom",
|
|
95
95
|
"tslib"
|
|
96
96
|
],
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "7aa3284b55970365eae54d79191975b6d0a05607"
|
|
98
98
|
}
|
package/src/RootListener.tsx
CHANGED
|
@@ -24,11 +24,11 @@ export const RootListener: React.FC = () => {
|
|
|
24
24
|
target.dispose = dispose;
|
|
25
25
|
};
|
|
26
26
|
document.body.addEventListener('render-html', renderHtml, false);
|
|
27
|
-
|
|
27
|
+
window.addEventListener('render-content', renderContent, false);
|
|
28
28
|
|
|
29
29
|
return () => {
|
|
30
30
|
document.body.removeEventListener('render-html', renderHtml, false);
|
|
31
|
-
|
|
31
|
+
window.removeEventListener('render-content', renderContent, false);
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
}, [context]);
|
|
@@ -44,12 +44,7 @@ function wrapForeignComponent<T>(
|
|
|
44
44
|
return (
|
|
45
45
|
<Wrapper {...props}>
|
|
46
46
|
<PortalRenderer id={id} />
|
|
47
|
-
<ForeignComponentContainer
|
|
48
|
-
innerProps={innerProps}
|
|
49
|
-
$portalId={id}
|
|
50
|
-
$component={component}
|
|
51
|
-
$context={context}
|
|
52
|
-
/>
|
|
47
|
+
<ForeignComponentContainer innerProps={innerProps} $portalId={id} $component={component} $context={context} />
|
|
53
48
|
</Wrapper>
|
|
54
49
|
);
|
|
55
50
|
});
|
package/src/modules/element.ts
CHANGED
|
@@ -11,26 +11,16 @@ import {
|
|
|
11
11
|
slotName,
|
|
12
12
|
isSame,
|
|
13
13
|
contentName,
|
|
14
|
+
componentName,
|
|
14
15
|
} from '../utils';
|
|
15
16
|
|
|
16
17
|
export interface Updatable {
|
|
17
18
|
(newProps: any): void;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
declare global {
|
|
21
|
-
interface Window {
|
|
22
|
-
/**
|
|
23
|
-
* Assigns content in form a ReactChild to be rendered later
|
|
24
|
-
* from a foreign container / element in an piral-content
|
|
25
|
-
* child.
|
|
26
|
-
* @param cid The ID of the piral-content node.
|
|
27
|
-
* @param content The ReactChild to be rendered.
|
|
28
|
-
*/
|
|
29
|
-
assignContent(cid: string, content: any): void;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
21
|
if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
22
|
+
const contents = 'contents';
|
|
23
|
+
|
|
34
24
|
/**
|
|
35
25
|
* This is a nice abstraction allowing anyone to actually use the extension system
|
|
36
26
|
* brought by Piral. Not all props of the extension system are actually exposed.
|
|
@@ -122,7 +112,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
122
112
|
}
|
|
123
113
|
|
|
124
114
|
connectedCallback() {
|
|
125
|
-
this.style.display =
|
|
115
|
+
this.style.display = contents;
|
|
126
116
|
|
|
127
117
|
if (this.isConnected) {
|
|
128
118
|
this.dispatchEvent(
|
|
@@ -177,7 +167,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
177
167
|
*/
|
|
178
168
|
class PiralPortal extends HTMLElement {
|
|
179
169
|
connectedCallback() {
|
|
180
|
-
this.style.display =
|
|
170
|
+
this.style.display = contents;
|
|
181
171
|
}
|
|
182
172
|
}
|
|
183
173
|
|
|
@@ -196,7 +186,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
196
186
|
*/
|
|
197
187
|
class PiralSlot extends HTMLElement {
|
|
198
188
|
connectedCallback() {
|
|
199
|
-
this.style.display =
|
|
189
|
+
this.style.display = contents;
|
|
200
190
|
}
|
|
201
191
|
}
|
|
202
192
|
|
|
@@ -205,7 +195,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
205
195
|
/**
|
|
206
196
|
* This is a virtual element to render children defined in React / by Piral in other
|
|
207
197
|
* frameworks.
|
|
208
|
-
*
|
|
198
|
+
*
|
|
209
199
|
* Internally, you can use the assignContent function to populate the content to be
|
|
210
200
|
* rendered once the element is attached / mounted in the DOM.
|
|
211
201
|
*
|
|
@@ -214,13 +204,13 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
214
204
|
* ```
|
|
215
205
|
* <piral-content cid="123"></piral-content>
|
|
216
206
|
* ```
|
|
217
|
-
*
|
|
207
|
+
*
|
|
218
208
|
* where you'd
|
|
219
|
-
*
|
|
209
|
+
*
|
|
220
210
|
* ```
|
|
221
211
|
* window.assignContent("123", myReactContent)
|
|
222
212
|
* ```
|
|
223
|
-
*
|
|
213
|
+
*
|
|
224
214
|
* beforehand.
|
|
225
215
|
*/
|
|
226
216
|
class PiralContent extends HTMLElement {
|
|
@@ -229,16 +219,18 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
229
219
|
static contentAssignments = {};
|
|
230
220
|
|
|
231
221
|
connectedCallback() {
|
|
232
|
-
this.style.display =
|
|
222
|
+
this.style.display = contents;
|
|
233
223
|
const cid = this.getAttribute('cid');
|
|
234
224
|
const content = PiralContent.contentAssignments[cid];
|
|
235
225
|
const portal = this.closest('piral-portal');
|
|
236
226
|
|
|
237
227
|
if (content && portal) {
|
|
238
228
|
const portalId = portal.getAttribute('pid');
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
229
|
+
window.dispatchEvent(
|
|
230
|
+
new CustomEvent('render-content', {
|
|
231
|
+
detail: { target: this, content, portalId },
|
|
232
|
+
}),
|
|
233
|
+
);
|
|
242
234
|
}
|
|
243
235
|
}
|
|
244
236
|
|
|
@@ -253,6 +245,41 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
|
|
|
253
245
|
};
|
|
254
246
|
|
|
255
247
|
customElements.define(contentName, PiralContent);
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* This is a virtual element to indicate that the contained content is
|
|
251
|
+
* rendered from a micro frontend's component. It will be used by the
|
|
252
|
+
* orchestrator, so there is nothing you will need to do with it.
|
|
253
|
+
*
|
|
254
|
+
* Right now this is only used when you opt-in in the createInstance.
|
|
255
|
+
*/
|
|
256
|
+
class PiralComponent extends HTMLElement {
|
|
257
|
+
get name() {
|
|
258
|
+
return this.getAttribute('name');
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
get origin() {
|
|
262
|
+
return this.getAttribute('origin');
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
connectedCallback() {
|
|
266
|
+
this.style.display = contents;
|
|
267
|
+
this.deferEvent('add-component');
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
disconnectedCallback() {
|
|
271
|
+
this.deferEvent('remove-component');
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
deferEvent(eventName: string) {
|
|
275
|
+
const ev = new CustomEvent(eventName, {
|
|
276
|
+
detail: { name: this.name, origin: this.origin },
|
|
277
|
+
});
|
|
278
|
+
setTimeout(() => window.dispatchEvent(ev), 0);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
customElements.define(componentName, PiralComponent);
|
|
256
283
|
}
|
|
257
284
|
|
|
258
285
|
export function renderElement(
|
|
@@ -10,7 +10,9 @@ import { StateContext } from '../state';
|
|
|
10
10
|
|
|
11
11
|
function createMockContainer() {
|
|
12
12
|
const state = create(() => ({
|
|
13
|
-
app: {
|
|
13
|
+
app: {
|
|
14
|
+
wrap: false,
|
|
15
|
+
},
|
|
14
16
|
components: {
|
|
15
17
|
ErrorInfo: StubErrorInfo,
|
|
16
18
|
},
|
|
@@ -50,6 +52,9 @@ function createMockContainerWithNoWrappers() {
|
|
|
50
52
|
converters: {},
|
|
51
53
|
readState(cb) {
|
|
52
54
|
return cb({
|
|
55
|
+
app: {
|
|
56
|
+
wrap: false,
|
|
57
|
+
},
|
|
53
58
|
registry: {
|
|
54
59
|
wrappers: {},
|
|
55
60
|
},
|
package/src/state/withApi.tsx
CHANGED
|
@@ -22,19 +22,27 @@ function getWrapper(wrappers: Record<string, React.ComponentType<any>>, wrapperT
|
|
|
22
22
|
|
|
23
23
|
function makeWrapper<TProps>(
|
|
24
24
|
context: GlobalStateContext,
|
|
25
|
-
outerProps:
|
|
25
|
+
outerProps: BaseComponentProps,
|
|
26
26
|
wrapperType: string,
|
|
27
27
|
errorType: keyof Errors,
|
|
28
28
|
): React.FC<React.PropsWithChildren<TProps>> {
|
|
29
|
+
const wrapped = context.readState((m) => m.app.wrap);
|
|
29
30
|
const OuterWrapper = context.readState((m) => getWrapper(m.registry.wrappers, wrapperType));
|
|
30
|
-
|
|
31
|
-
return (props) => (
|
|
31
|
+
const Wrapper = (props) => (
|
|
32
32
|
<OuterWrapper {...outerProps} {...props}>
|
|
33
33
|
<ErrorBoundary {...outerProps} {...props} errorType={errorType}>
|
|
34
34
|
{props.children}
|
|
35
35
|
</ErrorBoundary>
|
|
36
36
|
</OuterWrapper>
|
|
37
37
|
);
|
|
38
|
+
|
|
39
|
+
return wrapped
|
|
40
|
+
? (props) => (
|
|
41
|
+
<piral-component origin={outerProps.piral.meta.name}>
|
|
42
|
+
<Wrapper {...props} />
|
|
43
|
+
</piral-component>
|
|
44
|
+
)
|
|
45
|
+
: Wrapper;
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
export function withApi<TProps>(
|
package/src/tools/codegen.ts
CHANGED
|
@@ -67,7 +67,7 @@ function getModulePathOrDefault(root: string, origin: string, name: string) {
|
|
|
67
67
|
try {
|
|
68
68
|
const absPath = getModulePath(root, name);
|
|
69
69
|
const relPath = relative(origin, absPath);
|
|
70
|
-
|
|
70
|
+
|
|
71
71
|
// The relative path is to be used in an import statement,
|
|
72
72
|
// so it should be normalized back to use posix path separators.
|
|
73
73
|
const path = relPath.split(sep).join(posix.sep);
|
|
@@ -84,6 +84,7 @@ interface CodegenOptions {
|
|
|
84
84
|
appName: string;
|
|
85
85
|
externals: Array<string>;
|
|
86
86
|
publicPath: string;
|
|
87
|
+
isolation: 'classic' | 'modern';
|
|
87
88
|
debug?: {
|
|
88
89
|
viewState?: boolean;
|
|
89
90
|
loadPilets?: boolean;
|
|
@@ -140,8 +141,9 @@ export function createDependencies(imports: Array<string>, exports: Array<string
|
|
|
140
141
|
}
|
|
141
142
|
|
|
142
143
|
export function createDefaultState(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
|
|
143
|
-
const { root, cat, publicPath } = opts;
|
|
144
|
+
const { root, cat, publicPath, isolation } = opts;
|
|
144
145
|
const routerVersion = getRouterVersion(root);
|
|
146
|
+
const wrap = isolation === 'modern' ? 'true' : 'false';
|
|
145
147
|
|
|
146
148
|
imports.push(
|
|
147
149
|
`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo';`,
|
|
@@ -177,6 +179,7 @@ export function createDefaultState(imports: Array<string>, exports: Array<string
|
|
|
177
179
|
app: {
|
|
178
180
|
error: undefined,
|
|
179
181
|
loading: typeof window !== 'undefined',
|
|
182
|
+
wrap: ${wrap},
|
|
180
183
|
},
|
|
181
184
|
components: {
|
|
182
185
|
ErrorInfo: DefaultErrorInfo,
|
package/src/tools/debugger.ts
CHANGED
|
@@ -50,21 +50,10 @@ export function integrateDebugger(
|
|
|
50
50
|
integrate(dbg) {
|
|
51
51
|
context.dispatch((s) => ({
|
|
52
52
|
...s,
|
|
53
|
-
components: {
|
|
54
|
-
...s.components,
|
|
55
|
-
...dbg.components,
|
|
56
|
-
},
|
|
57
53
|
routes: {
|
|
58
54
|
...s.routes,
|
|
59
55
|
...dbg.routes,
|
|
60
56
|
},
|
|
61
|
-
registry: {
|
|
62
|
-
...s.registry,
|
|
63
|
-
wrappers: {
|
|
64
|
-
...s.registry.wrappers,
|
|
65
|
-
...dbg.wrappers,
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
57
|
}));
|
|
69
58
|
|
|
70
59
|
context.state.subscribe((current, previous) => {
|
package/src/types/index.ts
CHANGED
package/src/types/state.ts
CHANGED
|
@@ -123,6 +123,11 @@ export interface AppState {
|
|
|
123
123
|
* Gets an unrecoverable application error, if any.
|
|
124
124
|
*/
|
|
125
125
|
error: Error | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Gets if the components from the micro frontends should be wrapped
|
|
128
|
+
* in a piral-component element.
|
|
129
|
+
*/
|
|
130
|
+
wrap: boolean;
|
|
126
131
|
}
|
|
127
132
|
|
|
128
133
|
/**
|
package/src/types/web.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface PiralComponentProps extends HTMLAttributes<{}> {
|
|
4
|
+
name?: string;
|
|
5
|
+
origin: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface PiralExtensionProps extends HTMLAttributes<{}> {
|
|
9
|
+
name: string;
|
|
10
|
+
params: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface PiralPortalProps extends HTMLAttributes<{}> {
|
|
14
|
+
pid: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface PiralSlotProps extends HTMLAttributes<{}> {}
|
|
18
|
+
|
|
19
|
+
declare global {
|
|
20
|
+
namespace JSX {
|
|
21
|
+
interface IntrinsicElements {
|
|
22
|
+
'piral-component': React.DetailedHTMLProps<PiralComponentProps, {}>;
|
|
23
|
+
'piral-extension': React.DetailedHTMLProps<PiralExtensionProps, {}>;
|
|
24
|
+
'piral-portal': React.DetailedHTMLProps<PiralPortalProps, {}>;
|
|
25
|
+
'piral-slot': React.DetailedHTMLProps<PiralSlotProps, {}>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface Window {
|
|
30
|
+
/**
|
|
31
|
+
* Assigns content in form a ReactChild to be rendered later
|
|
32
|
+
* from a foreign container / element in an piral-content
|
|
33
|
+
* child.
|
|
34
|
+
* @param cid The ID of the piral-content node.
|
|
35
|
+
* @param content The ReactChild to be rendered.
|
|
36
|
+
*/
|
|
37
|
+
assignContent(cid: string, content: any): void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'piral-component': HTMLElement & {
|
|
42
|
+
name?: string;
|
|
43
|
+
origin: string;
|
|
44
|
+
};
|
|
45
|
+
'piral-extension': HTMLElement & {
|
|
46
|
+
params: any;
|
|
47
|
+
name: string;
|
|
48
|
+
empty: any;
|
|
49
|
+
};
|
|
50
|
+
'piral-portal': HTMLElement;
|
|
51
|
+
'piral-slot': HTMLElement;
|
|
52
|
+
}
|
|
53
|
+
}
|
package/src/utils/foreign.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { createPortal } from 'react-dom';
|
|
|
3
3
|
import { GlobalStateContext, ForeignComponent } from '../types';
|
|
4
4
|
|
|
5
5
|
export const extensionName = 'piral-extension';
|
|
6
|
+
export const componentName = 'piral-component';
|
|
6
7
|
export const contentName = 'piral-content';
|
|
7
8
|
export const portalName = 'piral-portal';
|
|
8
9
|
export const slotName = 'piral-slot';
|