@merkur/integration-react 0.31.0 → 0.32.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/README.md +1 -1
- package/lib/index.cjs +10 -30
- package/lib/index.es9.cjs +9 -18
- package/lib/index.js +10 -30
- package/lib/index.mjs +1 -15
- package/package.json +16 -15
- package/rollup.config.mjs +37 -0
- package/lib/index.es5.js +0 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|

|
|
12
12
|
[](https://github.com/prettier/prettier)
|
|
13
13
|
|
|
14
|
-
The [Merkur](https://merkur.js.org/) is tiny extensible javascript library for front-end microservices(micro frontends). It allows by default server side rendering for loading performance boost. You can connect it with other frameworks or languages because merkur defines easy API. You can use one of six predefined template's library [
|
|
14
|
+
The [Merkur](https://merkur.js.org/) is tiny extensible javascript library for front-end microservices(micro frontends). It allows by default server side rendering for loading performance boost. You can connect it with other frameworks or languages because merkur defines easy API. You can use one of six predefined template's library [Preact](https://preactjs.com/), [µhtml](https://github.com/WebReflection/uhtml#readme), [Svelte](https://svelte.dev/) and [vanilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) but you can easily extend for others.
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
- Flexible templating engine
|
package/lib/index.cjs
CHANGED
|
@@ -1,30 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var React = require('react');
|
|
6
4
|
var core = require('@merkur/core');
|
|
7
5
|
var integration = require('@merkur/integration');
|
|
8
6
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
|
-
function _extends() {
|
|
14
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
15
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
-
var source = arguments[i];
|
|
17
|
-
for (var key in source) {
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
-
target[key] = source[key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return target;
|
|
24
|
-
};
|
|
25
|
-
return _extends.apply(this, arguments);
|
|
26
|
-
}
|
|
27
|
-
|
|
7
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
28
8
|
const SelectorIdentifierMap = Object.freeze({
|
|
29
9
|
'#': 'id',
|
|
30
10
|
'.': 'className'
|
|
@@ -68,15 +48,15 @@ function WidgetWrapper({
|
|
|
68
48
|
children
|
|
69
49
|
}) {
|
|
70
50
|
const selector = selectorToAttribute(containerSelector);
|
|
71
|
-
return html ? /*#__PURE__*/
|
|
51
|
+
return html ? /*#__PURE__*/React.createElement("div", _extends({}, selector, {
|
|
72
52
|
dangerouslySetInnerHTML: {
|
|
73
53
|
__html: html
|
|
74
54
|
}
|
|
75
|
-
})) : /*#__PURE__*/
|
|
55
|
+
})) : /*#__PURE__*/React.createElement("div", selector, children);
|
|
76
56
|
}
|
|
77
|
-
var WidgetWrapper$1 = /*#__PURE__*/
|
|
57
|
+
var WidgetWrapper$1 = /*#__PURE__*/React.memo(WidgetWrapper);
|
|
78
58
|
|
|
79
|
-
class AbstractMerkurWidget extends
|
|
59
|
+
class AbstractMerkurWidget extends React.Component {
|
|
80
60
|
/**
|
|
81
61
|
* Checks if widget has changed, e.g has different name or version.
|
|
82
62
|
*
|
|
@@ -137,7 +117,7 @@ class AbstractMerkurWidget extends React__default["default"].Component {
|
|
|
137
117
|
return children({
|
|
138
118
|
error: encounteredError
|
|
139
119
|
});
|
|
140
|
-
} else if ( /*#__PURE__*/
|
|
120
|
+
} else if ( /*#__PURE__*/React.isValidElement(children)) {
|
|
141
121
|
return children;
|
|
142
122
|
}
|
|
143
123
|
return null;
|
|
@@ -408,7 +388,7 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
408
388
|
throw new Error(`The widgetProperties.containerSelector is not defined`);
|
|
409
389
|
}
|
|
410
390
|
const html = this._getWidgetHTML();
|
|
411
|
-
return /*#__PURE__*/
|
|
391
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, (!this._isClient() || this._isSSRHydrate()) && this._renderStyleAssets(), /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
412
392
|
containerSelector: widgetProperties.containerSelector,
|
|
413
393
|
html: html
|
|
414
394
|
}));
|
|
@@ -428,13 +408,13 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
428
408
|
return assets.filter(asset => ['stylesheet', 'inlineStyle'].includes(asset.type) && asset.source).map((asset, key) => {
|
|
429
409
|
switch (asset.type) {
|
|
430
410
|
case 'stylesheet':
|
|
431
|
-
return /*#__PURE__*/
|
|
411
|
+
return /*#__PURE__*/React.createElement("link", {
|
|
432
412
|
rel: "stylesheet",
|
|
433
413
|
href: asset.source,
|
|
434
414
|
key: key
|
|
435
415
|
});
|
|
436
416
|
case 'inlineStyle':
|
|
437
|
-
return /*#__PURE__*/
|
|
417
|
+
return /*#__PURE__*/React.createElement("style", {
|
|
438
418
|
key: key,
|
|
439
419
|
dangerouslySetInnerHTML: {
|
|
440
420
|
__html: asset.source
|
|
@@ -619,7 +599,7 @@ class MerkurSlot extends AbstractMerkurWidget {
|
|
|
619
599
|
*/
|
|
620
600
|
const isInitialSPARender = this._isClient() && !this._isSSRHydrate();
|
|
621
601
|
const html = isInitialSPARender ? '' : this._getWidgetHTML();
|
|
622
|
-
return /*#__PURE__*/
|
|
602
|
+
return /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
623
603
|
containerSelector: this.slot.containerSelector,
|
|
624
604
|
html: html
|
|
625
605
|
}, isInitialSPARender && this._renderFallback());
|
package/lib/index.es9.cjs
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
3
|
var React = require('react');
|
|
7
4
|
var core = require('@merkur/core');
|
|
8
5
|
var integration = require('@merkur/integration');
|
|
9
|
-
function _interopDefaultLegacy(e) {
|
|
10
|
-
return e && typeof e === 'object' && 'default' in e ? e : {
|
|
11
|
-
'default': e
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
6
|
function _extends() {
|
|
16
7
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
17
8
|
for (var i = 1; i < arguments.length; i++) {
|
|
@@ -69,14 +60,14 @@ function WidgetWrapper({
|
|
|
69
60
|
children
|
|
70
61
|
}) {
|
|
71
62
|
const selector = selectorToAttribute(containerSelector);
|
|
72
|
-
return html ? /*#__PURE__*/
|
|
63
|
+
return html ? /*#__PURE__*/React.createElement("div", _extends({}, selector, {
|
|
73
64
|
dangerouslySetInnerHTML: {
|
|
74
65
|
__html: html
|
|
75
66
|
}
|
|
76
|
-
})) : /*#__PURE__*/
|
|
67
|
+
})) : /*#__PURE__*/React.createElement("div", selector, children);
|
|
77
68
|
}
|
|
78
|
-
var WidgetWrapper$1 = /*#__PURE__*/
|
|
79
|
-
class AbstractMerkurWidget extends
|
|
69
|
+
var WidgetWrapper$1 = /*#__PURE__*/React.memo(WidgetWrapper);
|
|
70
|
+
class AbstractMerkurWidget extends React.Component {
|
|
80
71
|
/**
|
|
81
72
|
* Checks if widget has changed, e.g has different name or version.
|
|
82
73
|
*
|
|
@@ -137,7 +128,7 @@ class AbstractMerkurWidget extends React__default["default"].Component {
|
|
|
137
128
|
return children({
|
|
138
129
|
error: encounteredError
|
|
139
130
|
});
|
|
140
|
-
} else if ( /*#__PURE__*/
|
|
131
|
+
} else if ( /*#__PURE__*/React.isValidElement(children)) {
|
|
141
132
|
return children;
|
|
142
133
|
}
|
|
143
134
|
return null;
|
|
@@ -411,7 +402,7 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
411
402
|
throw new Error(`The widgetProperties.containerSelector is not defined`);
|
|
412
403
|
}
|
|
413
404
|
const html = this._getWidgetHTML();
|
|
414
|
-
return /*#__PURE__*/
|
|
405
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, (!this._isClient() || this._isSSRHydrate()) && this._renderStyleAssets(), /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
415
406
|
containerSelector: widgetProperties.containerSelector,
|
|
416
407
|
html: html
|
|
417
408
|
}));
|
|
@@ -431,13 +422,13 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
431
422
|
return assets.filter(asset => ['stylesheet', 'inlineStyle'].includes(asset.type) && asset.source).map((asset, key) => {
|
|
432
423
|
switch (asset.type) {
|
|
433
424
|
case 'stylesheet':
|
|
434
|
-
return /*#__PURE__*/
|
|
425
|
+
return /*#__PURE__*/React.createElement("link", {
|
|
435
426
|
rel: "stylesheet",
|
|
436
427
|
href: asset.source,
|
|
437
428
|
key: key
|
|
438
429
|
});
|
|
439
430
|
case 'inlineStyle':
|
|
440
|
-
return /*#__PURE__*/
|
|
431
|
+
return /*#__PURE__*/React.createElement("style", {
|
|
441
432
|
key: key,
|
|
442
433
|
dangerouslySetInnerHTML: {
|
|
443
434
|
__html: asset.source
|
|
@@ -624,7 +615,7 @@ class MerkurSlot extends AbstractMerkurWidget {
|
|
|
624
615
|
*/
|
|
625
616
|
const isInitialSPARender = this._isClient() && !this._isSSRHydrate();
|
|
626
617
|
const html = isInitialSPARender ? '' : this._getWidgetHTML();
|
|
627
|
-
return /*#__PURE__*/
|
|
618
|
+
return /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
628
619
|
containerSelector: this.slot.containerSelector,
|
|
629
620
|
html: html
|
|
630
621
|
}, isInitialSPARender && this._renderFallback());
|
package/lib/index.js
CHANGED
|
@@ -1,30 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var React = require('react');
|
|
6
4
|
var core = require('@merkur/core');
|
|
7
5
|
var integration = require('@merkur/integration');
|
|
8
6
|
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
|
-
function _extends() {
|
|
14
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
15
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
-
var source = arguments[i];
|
|
17
|
-
for (var key in source) {
|
|
18
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
-
target[key] = source[key];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return target;
|
|
24
|
-
};
|
|
25
|
-
return _extends.apply(this, arguments);
|
|
26
|
-
}
|
|
27
|
-
|
|
7
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
28
8
|
const SelectorIdentifierMap = Object.freeze({
|
|
29
9
|
'#': 'id',
|
|
30
10
|
'.': 'className'
|
|
@@ -68,15 +48,15 @@ function WidgetWrapper({
|
|
|
68
48
|
children
|
|
69
49
|
}) {
|
|
70
50
|
const selector = selectorToAttribute(containerSelector);
|
|
71
|
-
return html ? /*#__PURE__*/
|
|
51
|
+
return html ? /*#__PURE__*/React.createElement("div", _extends({}, selector, {
|
|
72
52
|
dangerouslySetInnerHTML: {
|
|
73
53
|
__html: html
|
|
74
54
|
}
|
|
75
|
-
})) : /*#__PURE__*/
|
|
55
|
+
})) : /*#__PURE__*/React.createElement("div", selector, children);
|
|
76
56
|
}
|
|
77
|
-
var WidgetWrapper$1 = /*#__PURE__*/
|
|
57
|
+
var WidgetWrapper$1 = /*#__PURE__*/React.memo(WidgetWrapper);
|
|
78
58
|
|
|
79
|
-
class AbstractMerkurWidget extends
|
|
59
|
+
class AbstractMerkurWidget extends React.Component {
|
|
80
60
|
/**
|
|
81
61
|
* Checks if widget has changed, e.g has different name or version.
|
|
82
62
|
*
|
|
@@ -137,7 +117,7 @@ class AbstractMerkurWidget extends React__default["default"].Component {
|
|
|
137
117
|
return children({
|
|
138
118
|
error: encounteredError
|
|
139
119
|
});
|
|
140
|
-
} else if ( /*#__PURE__*/
|
|
120
|
+
} else if ( /*#__PURE__*/React.isValidElement(children)) {
|
|
141
121
|
return children;
|
|
142
122
|
}
|
|
143
123
|
return null;
|
|
@@ -408,7 +388,7 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
408
388
|
throw new Error(`The widgetProperties.containerSelector is not defined`);
|
|
409
389
|
}
|
|
410
390
|
const html = this._getWidgetHTML();
|
|
411
|
-
return /*#__PURE__*/
|
|
391
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, (!this._isClient() || this._isSSRHydrate()) && this._renderStyleAssets(), /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
412
392
|
containerSelector: widgetProperties.containerSelector,
|
|
413
393
|
html: html
|
|
414
394
|
}));
|
|
@@ -428,13 +408,13 @@ class MerkurWidget extends AbstractMerkurWidget {
|
|
|
428
408
|
return assets.filter(asset => ['stylesheet', 'inlineStyle'].includes(asset.type) && asset.source).map((asset, key) => {
|
|
429
409
|
switch (asset.type) {
|
|
430
410
|
case 'stylesheet':
|
|
431
|
-
return /*#__PURE__*/
|
|
411
|
+
return /*#__PURE__*/React.createElement("link", {
|
|
432
412
|
rel: "stylesheet",
|
|
433
413
|
href: asset.source,
|
|
434
414
|
key: key
|
|
435
415
|
});
|
|
436
416
|
case 'inlineStyle':
|
|
437
|
-
return /*#__PURE__*/
|
|
417
|
+
return /*#__PURE__*/React.createElement("style", {
|
|
438
418
|
key: key,
|
|
439
419
|
dangerouslySetInnerHTML: {
|
|
440
420
|
__html: asset.source
|
|
@@ -619,7 +599,7 @@ class MerkurSlot extends AbstractMerkurWidget {
|
|
|
619
599
|
*/
|
|
620
600
|
const isInitialSPARender = this._isClient() && !this._isSSRHydrate();
|
|
621
601
|
const html = isInitialSPARender ? '' : this._getWidgetHTML();
|
|
622
|
-
return /*#__PURE__*/
|
|
602
|
+
return /*#__PURE__*/React.createElement(WidgetWrapper$1, {
|
|
623
603
|
containerSelector: this.slot.containerSelector,
|
|
624
604
|
html: html
|
|
625
605
|
}, isInitialSPARender && this._renderFallback());
|
package/lib/index.mjs
CHANGED
|
@@ -2,21 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { getMerkur } from '@merkur/core';
|
|
3
3
|
import { loadStyleAssets, loadScriptAssets } from '@merkur/integration';
|
|
4
4
|
|
|
5
|
-
function _extends() {
|
|
6
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
7
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
8
|
-
var source = arguments[i];
|
|
9
|
-
for (var key in source) {
|
|
10
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
11
|
-
target[key] = source[key];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return target;
|
|
16
|
-
};
|
|
17
|
-
return _extends.apply(this, arguments);
|
|
18
|
-
}
|
|
19
|
-
|
|
5
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
6
|
const SelectorIdentifierMap = Object.freeze({
|
|
21
7
|
'#': 'id',
|
|
22
8
|
'.': 'className'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/integration-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Merkur module for easy integration with react.",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"module": "lib/index",
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
"./lib/index.es9.cjs": "./lib/index.es9.cjs"
|
|
15
15
|
},
|
|
16
16
|
"browser": {
|
|
17
|
-
"./lib/index.js": "./lib/index.
|
|
18
|
-
"./lib/index.cjs": "./lib/index.
|
|
17
|
+
"./lib/index.js": "./lib/index.js",
|
|
18
|
+
"./lib/index.cjs": "./lib/index.cjs",
|
|
19
19
|
"./lib/index.mjs": "./lib/index.mjs",
|
|
20
20
|
"./lib/index.es9.mjs": "./lib/index.es9.mjs"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"preversion": "npm test",
|
|
24
|
-
"test": "
|
|
25
|
-
"test:es:version": "
|
|
26
|
-
"build": "
|
|
24
|
+
"test": "jest --no-watchman -c ./jest.config.js",
|
|
25
|
+
"test:es:version": "es-check es11 ./lib/index.mjs --module && es-check es9 ./lib/index.es9.mjs --module && es-check es9 ./lib/index.es9.cjs --module",
|
|
26
|
+
"build": "rollup -c rollup.config.mjs",
|
|
27
27
|
"prepare": "npm run build"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
|
@@ -46,16 +46,17 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://merkur.js.org/",
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@babel/preset-react": "^7.
|
|
50
|
-
"@merkur/core": "^0.
|
|
51
|
-
"@merkur/plugin-component": "^0.
|
|
52
|
-
"@merkur/plugin-event-emitter": "^0.
|
|
49
|
+
"@babel/preset-react": "^7.18.6",
|
|
50
|
+
"@merkur/core": "^0.32.0",
|
|
51
|
+
"@merkur/plugin-component": "^0.32.0",
|
|
52
|
+
"@merkur/plugin-event-emitter": "^0.32.0",
|
|
53
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
54
|
+
"@rollup/plugin-replace": "^5.0.2",
|
|
53
55
|
"enzyme": "3.11.0",
|
|
54
|
-
"enzyme-adapter-react-16": "1.15.
|
|
56
|
+
"enzyme-adapter-react-16": "1.15.7",
|
|
55
57
|
"enzyme-to-json": "^3.6.2",
|
|
56
58
|
"react": "16.13.1",
|
|
57
|
-
"react-dom": "16.13.1"
|
|
58
|
-
"rollup": "^2.70.2"
|
|
59
|
+
"react-dom": "16.13.1"
|
|
59
60
|
},
|
|
60
61
|
"peerDependencies": {
|
|
61
62
|
"@merkur/core": "*",
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
"react-dom": ">=16"
|
|
64
65
|
},
|
|
65
66
|
"dependencies": {
|
|
66
|
-
"@merkur/integration": "^0.
|
|
67
|
+
"@merkur/integration": "^0.32.0"
|
|
67
68
|
},
|
|
68
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "c45ffe12725e3c4afcf7f13869a25a96f6807055"
|
|
69
70
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createRollupESConfig,
|
|
3
|
+
createRollupES9Config,
|
|
4
|
+
} from '../../createRollupConfig.mjs';
|
|
5
|
+
import resolve from '@rollup/plugin-node-resolve';
|
|
6
|
+
import babel from '@rollup/plugin-babel';
|
|
7
|
+
import replace from '@rollup/plugin-replace';
|
|
8
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
9
|
+
|
|
10
|
+
let esConfig = createRollupESConfig();
|
|
11
|
+
let es9Config = createRollupES9Config();
|
|
12
|
+
|
|
13
|
+
let extendedPlugins = [
|
|
14
|
+
commonjs({
|
|
15
|
+
include: /node_modules/,
|
|
16
|
+
requireReturnsDefault: 'auto', // <---- this solves default issue
|
|
17
|
+
}),
|
|
18
|
+
replace({
|
|
19
|
+
preventAssignment: false,
|
|
20
|
+
values: {
|
|
21
|
+
'process.env.NODE_ENV': JSON.stringify('production'),
|
|
22
|
+
},
|
|
23
|
+
}),
|
|
24
|
+
resolve({
|
|
25
|
+
extensions: ['.mjs', '.js', '.jsx', '.json'],
|
|
26
|
+
}),
|
|
27
|
+
babel({
|
|
28
|
+
configFile: false,
|
|
29
|
+
babelHelpers: 'inline',
|
|
30
|
+
presets: ['@babel/preset-react'],
|
|
31
|
+
}),
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
esConfig.plugins.push(...extendedPlugins);
|
|
35
|
+
es9Config.plugins.push(...extendedPlugins);
|
|
36
|
+
|
|
37
|
+
export default [esConfig, es9Config];
|
package/lib/index.es5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";function e(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */e=function(){return t};var t={},r=Object.prototype,o=r.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,r){return e[t]=r}}function l(e,t,r,o){var i=t&&t.prototype instanceof f?t:f,s=Object.create(i.prototype),a=new L(o||[]);return n(s,"_invoke",{value:P(e,r,a)}),s}function d(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h={};function f(){}function v(){}function y(){}var g={};c(g,s,(function(){return this}));var m=Object.getPrototypeOf,w=m&&m(m(O([])));w&&w!==r&&o.call(w,s)&&(g=w);var j=y.prototype=f.prototype=Object.create(g);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function r(n,i,s,a){var u=d(e[n],e,i);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==p(l)&&o.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,s,a)}),(function(e){r("throw",e,s,a)})):t.resolve(l).then((function(e){c.value=e,s(c)}),(function(e){return r("throw",e,s,a)}))}a(u.arg)}var i;n(this,"_invoke",{value:function(e,o){function n(){return new t((function(t,n){r(e,o,t,n)}))}return i=i?i.then(n,n):n()}})}function P(e,t,r){var o="suspendedStart";return function(n,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===n)throw i;return x()}for(r.method=n,r.arg=i;;){var s=r.delegate;if(s){var a=k(s,r);if(a){if(a===h)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===o)throw o="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o="executing";var u=d(e,t,r);if("normal"===u.type){if(o=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(o="completed",r.method="throw",r.arg=u.arg)}}}function k(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,k(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=d(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,h;var n=o.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):n:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function O(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(o.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:x}}function x(){return{value:void 0,done:!0}}return v.prototype=y,n(j,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:v,configurable:!0}),v.displayName=c(y,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,u,"GeneratorFunction")),e.prototype=Object.create(j),e},t.awrap=function(e){return{__await:e}},b(_.prototype),c(_.prototype,a,(function(){return this})),t.AsyncIterator=_,t.async=function(e,r,o,n,i){void 0===i&&(i=Promise);var s=new _(l(e,r,o,n),i);return t.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},b(j),c(j,u,"Generator"),c(j,s,(function(){return this})),c(j,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var o in t)r.push(o);return r.reverse(),function e(){for(;r.length;){var o=r.pop();if(o in t)return e.value=o,e.done=!1,e}return e.done=!0,e}},t.values=O,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&o.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,o){return s.type="throw",s.arg=e,t.next=r,o&&(t.method="next",t.arg=void 0),!!o}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var a=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=e,s.arg=t,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var o=r.completion;if("throw"===o.type){var n=o.arg;E(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function t(e,t,r,o,n,i,s){try{var a=e[i](s),u=a.value}catch(e){return void r(e)}a.done?t(u):Promise.resolve(u).then(o,n)}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=o(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(arguments.length<3?e:r):i.value}},r.apply(this,arguments)}function o(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=h(e)););return e}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function c(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,o=h(e);if(t){var n=h(this).constructor;r=Reflect.construct(o,arguments,n)}else r=o.apply(this,arguments);return l(this,r)}}function l(e,t){if(t&&("object"===p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return d(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.object.freeze.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.object.create.js"),require("core-js/modules/es.reflect.get.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.array.reverse.js"),require("core-js/modules/es.array.slice.js"),Object.defineProperty(exports,"__esModule",{value:!0});var v=require("react"),y=require("@merkur/core"),g=require("@merkur/integration");function m(e){return e&&"object"===p(e)&&"default"in e?e:{default:e}}var w=m(v);function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},j.apply(this,arguments)}var b=Object.freeze({"#":"id",".":"className"});function _(e){var t=e.html,r=e.containerSelector,o=e.children,n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if("string"!=typeof e||0===e.length)return{};var t=-1;for(var r in b){var o=e.lastIndexOf(r);t<o&&(t=o)}var n=e[t],i=e.substr(t+1);return f({},b[n],i)}(r);return t?w.default.createElement("div",j({},n,{dangerouslySetInnerHTML:{__html:t}})):w.default.createElement("div",n,o)}var P=w.default.memo(_),k=function(e){a(r,w["default"].Component);var t=c(r);function r(e){var o;return n(this,r),(o=t.call(this,e))._isMounted=!1,o._html=null,o}return s(r,[{key:"html",get:function(){throw new Error("The html getter is abstract and must be overridden")}},{key:"container",get:function(){throw new Error("The container getter is abstract and must be overridden")}},{key:"componentDidMount",value:function(){this._isMounted=!0}},{key:"_renderFallback",value:function(){var e=this.props.children,t=(this.state||{}).encounteredError;return"function"==typeof e?e({error:void 0===t?null:t}):w.default.isValidElement(e)?e:null}},{key:"_clearCachedHtml",value:function(){this._html=null}},{key:"_isClient",value:function(){return"undefined"!=typeof window&&"undefined"!=typeof document}},{key:"_getWidgetHTML",value:function(){return null!==this._html||(this._html=this.html||this._getSSRHTML()),this._html}},{key:"_getSSRHTML",value:function(){var e,t,r;return!this._isMounted&&this._isClient()&&(null===(e=this.container)||void 0===e||null===(t=e.children)||void 0===t||null===(r=t[0])||void 0===r?void 0:r.outerHTML)||""}},{key:"_isSSRHydrate",value:function(){return this._getSSRHTML().length>0}}],[{key:"hasWidgetChanged",value:function(e,t){return!(!(e&&e.name&&e.version&&t&&t.name&&t.version)||e.version===t.version&&e.name===t.name)}},{key:"validateProperties",value:function(e){return!!(e&&e.name&&e.version)}}]),r}(),S=function(o){a(f,k);var i,u,l=c(f);function f(e){var t;return n(this,f),(t=l.call(this,e))._widget=null,t._handleClientError=t._handleError.bind(d(t)),t.state={encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null},t}return s(f,[{key:"html",get:function(){var e;return(null===(e=this.props.widgetProperties)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.props.widgetProperties)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e,t){if(this.state.assetsLoaded!==t.assetsLoaded||this.state.encounteredError!==t.encounteredError||!k.validateProperties(this.props.widgetProperties)||k.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))return!0;if(this._widget&&e.widgetProperties&&e.widgetProperties.props){if(Object.keys(e.widgetProperties.props).length!==Object.keys(this.props.widgetProperties.props).length)return this._widget.setProps(e.widgetProperties.props),!1;for(var r in e.widgetProperties.props)if(!this.props.widgetProperties||!this.props.widgetProperties.props||e.widgetProperties.props[r]!==this.props.widgetProperties.props[r])return this._widget.setProps(e.widgetProperties.props),!1}if(this._widget&&e.widgetProperties&&e.widgetProperties.state){if(Object.keys(e.widgetProperties.state).length!==Object.keys(this.props.widgetProperties.state).length)return this._widget.setState(e.widgetProperties.state),!1;for(var o in e.widgetProperties.state)if(!this.props.widgetProperties||!this.props.widgetProperties.state||e.widgetProperties.state[o]!==this.props.widgetProperties.state[o])return this._widget.setState(e.widgetProperties.state),!1}return!1}},{key:"componentDidMount",value:function(){r(h(f.prototype),"componentDidMount",this).call(this),this._loadWidgetAssets()}},{key:"componentDidUpdate",value:function(e,t){var r=this.props.widgetProperties,o=e.widgetProperties;return this.state.assetsLoaded&&t.assetsLoaded!==this.state.assetsLoaded?this._mountWidget():!k.validateProperties(r)&&k.validateProperties(o)?(this._removeWidget(),void this.setState({encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:null})):k.validateProperties(r)&&!k.validateProperties(o)?this._loadWidgetAssets():k.hasWidgetChanged(r,o)?(this._removeWidget(),void this._loadWidgetAssets()):void 0}},{key:"componentWillUnmount",value:function(){this._removeWidget()}},{key:"render",value:function(){var e=this.props.widgetProperties,t=this.state,r=t.encounteredError,o=t.assetsLoaded;if(!k.validateProperties(e)||r||this._isClient()&&!this._isSSRHydrate()&&!o)return this._renderFallback();if(!e.containerSelector)throw new Error("The widgetProperties.containerSelector is not defined");var n=this._getWidgetHTML();return w.default.createElement(w.default.Fragment,null,(!this._isClient()||this._isSSRHydrate())&&this._renderStyleAssets(),w.default.createElement(P,{containerSelector:e.containerSelector,html:n}))}},{key:"_renderStyleAssets",value:function(){var e=this.props.widgetProperties;return(Array.isArray(null==e?void 0:e.assets)?e.assets:[]).filter((function(e){return["stylesheet","inlineStyle"].includes(e.type)&&e.source})).map((function(e,t){switch(e.type){case"stylesheet":return w.default.createElement("link",{rel:"stylesheet",href:e.source,key:t});case"inlineStyle":return w.default.createElement("style",{key:t,dangerouslySetInnerHTML:{__html:e.source}})}}))}},{key:"_handleError",value:function(e){"function"==typeof this.props.onError&&this.props.onError(e)||this.setState({encounteredError:e})}},{key:"_removeWidget",value:function(){this._widget&&(this.props.onWidgetUnmounting&&this.props.onWidgetUnmounting(this._widget),"function"==typeof this._widget.off&&this._widget.off("@merkur/plugin-error.error",this._handleClientError),this._widget.unmount(),this._widget=null,this._clearCachedHtml())}},{key:"_loadWidgetAssets",value:function(){var e=this,t=this.props.widgetProperties;if(k.validateProperties(t)&&!this._widget)return Promise.all([g.loadStyleAssets(t.assets),g.loadScriptAssets(t.assets)]).then((function(){return new Promise((function(t){e.setState({assetsLoaded:!0},(function(){t()}))}))})).catch((function(t){return e._handleError(t)}))}},{key:"_mountWidget",value:(i=e().mark((function t(){var r,o,n,i,s,a;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.props,o=r.widgetProperties,n=r.onWidgetMounted,i=r.debug,s=void 0!==i&&i,k.validateProperties(o)&&!this._widget){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,a=y.getMerkur(),e.next=7,a.create(o);case 7:return this._widget=e.sent,e.next=10,this._widget.mount();case 10:"function"==typeof this._widget.on&&this._widget.on("@merkur/plugin-error.error",this._handleClientError),"function"==typeof n&&n(this._widget),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(3),s&&console.warn(e.t0);case 17:case"end":return e.stop()}}),t,this,[[3,14]])})),u=function(){var e=this,r=arguments;return new Promise((function(o,n){var s=i.apply(e,r);function a(e){t(s,o,n,a,u,"next",e)}function u(e){t(s,o,n,a,u,"throw",e)}a(void 0)}))},function(){return u.apply(this,arguments)})}],[{key:"getDerivedStateFromProps",value:function(e,t){if(t&&e&&k.validateProperties(e.widgetProperties)){var r=e.widgetProperties,o=r.version,n=r.name;if(!t.cachedWidgetMeta)return{cachedWidgetMeta:{name:n,version:o}};if(k.hasWidgetChanged(t.cachedWidgetMeta,e.widgetProperties))return{encounteredError:!1,assetsLoaded:!1,cachedWidgetMeta:{name:n,version:o}}}return null}}]),f}(),E=function(e){a(r,k);var t=c(r);function r(){return n(this,r),t.apply(this,arguments)}return s(r,[{key:"slot",get:function(){var e,t,r=this.props,o=r.widgetProperties,n=r.slotName;return null!==(e=null==o||null===(t=o.slot)||void 0===t?void 0:t[n])&&void 0!==e?e:null}},{key:"html",get:function(){var e;return(null===(e=this.slot)||void 0===e?void 0:e.html)||null}},{key:"container",get:function(){var e,t;return this._isClient()&&(null===(e=document)||void 0===e?void 0:e.querySelector(null===(t=this.slot)||void 0===t?void 0:t.containerSelector))||null}},{key:"shouldComponentUpdate",value:function(e){return!(k.validateProperties(this.props.widgetProperties)&&k.validateProperties(e.widgetProperties)&&!k.hasWidgetChanged(this.props.widgetProperties,e.widgetProperties))}},{key:"componentDidUpdate",value:function(e){var t=this.props.widgetProperties,r=e.widgetProperties;k.validateProperties(t)||!k.validateProperties(r)||this._removeSlot()}},{key:"componentWillUnmount",value:function(){this._removeSlot()}},{key:"render",value:function(){var e=this.props.widgetProperties;if(!k.validateProperties(e)||!this.slot)return this._renderFallback();if(!this.slot.containerSelector)throw new Error("The ".concat(this.slot.name,".containerSelector is not defined"));var t=this._isClient()&&!this._isSSRHydrate(),r=t?"":this._getWidgetHTML();return w.default.createElement(P,{containerSelector:this.slot.containerSelector,html:r},t&&this._renderFallback())}},{key:"_removeSlot",value:function(){this._clearCachedHtml()}}]),r}();exports.MerkurSlot=E,exports.MerkurWidget=S;
|