@merkur/integration 0.28.0 → 0.29.2

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/lib/index.cjs CHANGED
@@ -49,6 +49,28 @@ const exported = {
49
49
 
50
50
  function _loadScript(asset, root) {
51
51
  return new Promise((resolve, reject) => {
52
+ const scriptElement = root.querySelector(`script[src='${asset.source}']`);
53
+
54
+ if (scriptElement) {
55
+ if (
56
+ (performance &&
57
+ performance.getEntriesByName &&
58
+ performance
59
+ .getEntriesByName(scriptElement.src)
60
+ .find(
61
+ (entry) => entry.entryType === 'resource' && entry.responseEnd
62
+ )) ||
63
+ !performance ||
64
+ !performance.getEntriesByName
65
+ ) {
66
+ setTimeout(resolve, 0);
67
+ return;
68
+ }
69
+
70
+ scriptElement.addEventListener('load', resolve);
71
+ return;
72
+ }
73
+
52
74
  const script = document.createElement('script');
53
75
 
54
76
  if (asset.type === 'script') {
@@ -150,7 +172,6 @@ function loadScriptAssets(assets, root = document.head) {
150
172
  }
151
173
 
152
174
  if (
153
- root.querySelector(`script[src='${_asset.source}']`) ||
154
175
  Array.from(scriptElements).reduce((acc, cur) => {
155
176
  if (cur.text === _asset.source) {
156
177
  return true;
package/lib/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,r;require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.object.values.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.function.name.js"),Object.defineProperty(exports,"__esModule",{value:!0});var t={isES9Supported:function(){return void 0===e&&(e=t.test("return (() => { const o = { t: 1 }; return { ...o }; })() && (async () => ({}))()")&&!!Object.values),e},isES11Supported:function(){return void 0===r&&(r=t.test("return (() => { const o = { t: { q: true } }; return o?.t?.q && (o?.a?.q ?? true); })()")&&t.test('return typeof Promise.allSettled === "function"')&&t.test('return typeof globalThis !== "undefined"')&&t.test('return typeof 9007199254740991n === "bigint"')),r},test:function(e){try{return!!new Function(e)()}catch(e){return!1}}};function s(e,r){return new Promise((function(t,s){var o=document.createElement("script");if("script"===e.type){o.defer=!0,o.onload=t,o.onerror=e.optional?t:s,o.src=e.source;var n=e.attr;if(n&&Object.keys(n).length)for(var u in n){var c=n[u];"boolean"==typeof c?c?o.setAttribute(u,""):o.removeAttribute(u):o.setAttribute(u,c)}}else o.text=e.source,t();r.appendChild(o)}))}function o(e,r){return new Promise((function(t,s){if("stylesheet"===e.type){var o=document.createElement("link");o.onload=t,o.onerror=s,o.rel="stylesheet",o.href=e.source,r.appendChild(o)}else{var n=document.createElement("style");n.innerHTML=e.source,r.appendChild(n),t()}}))}function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,t=r.querySelectorAll("style"),s=e.filter((function(e){return e.source&&("stylesheet"===e.type&&!r.querySelector("link[href='".concat(e.source,"']"))||"inlineStyle"===e.type&&Array.from(t).reduce((function(r,t){return t.innerHTML!==e.source&&r}),!0))}));return Promise.all(s.map((function(e){return o(e,r)})))}function u(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,o=r.querySelectorAll("script"),n=e.reduce((function(e,s){var n=s.source,u=Object.assign({},s);return"script"!==u.type&&"inlineScript"!==u.type?e:n!==Object(n)||(n.es11&&t.isES11Supported()?u.source=n.es11:n.es9&&t.isES9Supported()?u.source=n.es9:u.source=n.es5,u.source)?(r.querySelector("script[src='".concat(u.source,"']"))||Array.from(o).reduce((function(e,r){return r.text===u.source||e}),!1)||u.test&&t.test(u.test)||e.push(u),e):(console.warn("Asset '".concat(u.name,"' is missing ES variant and could not be loaded.")),e)}),[]);return Promise.all(n.map((function(e){return s(e,r)})))}exports.loadAssets=function(e,r){return Promise.all([u(e,r),n(e,r)])},exports.loadScriptAssets=u,exports.loadStyleAssets=n,exports.testScript=t;
1
+ "use strict";var e,r;require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.object.values.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/web.timers.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.function.name.js"),Object.defineProperty(exports,"__esModule",{value:!0});var t={isES9Supported:function(){return void 0===e&&(e=t.test("return (() => { const o = { t: 1 }; return { ...o }; })() && (async () => ({}))()")&&!!Object.values),e},isES11Supported:function(){return void 0===r&&(r=t.test("return (() => { const o = { t: { q: true } }; return o?.t?.q && (o?.a?.q ?? true); })()")&&t.test('return typeof Promise.allSettled === "function"')&&t.test('return typeof globalThis !== "undefined"')&&t.test('return typeof 9007199254740991n === "bigint"')),r},test:function(e){try{return!!new Function(e)()}catch(e){return!1}}};function s(e,r){return new Promise((function(t,s){var o=r.querySelector("script[src='".concat(e.source,"']"));if(o)return performance&&performance.getEntriesByName&&performance.getEntriesByName(o.src).find((function(e){return"resource"===e.entryType&&e.responseEnd}))||!performance||!performance.getEntriesByName?void setTimeout(t,0):void o.addEventListener("load",t);var n=document.createElement("script");if("script"===e.type){n.defer=!0,n.onload=t,n.onerror=e.optional?t:s,n.src=e.source;var u=e.attr;if(u&&Object.keys(u).length)for(var c in u){var i=u[c];"boolean"==typeof i?i?n.setAttribute(c,""):n.removeAttribute(c):n.setAttribute(c,i)}}else n.text=e.source,t();r.appendChild(n)}))}function o(e,r){return new Promise((function(t,s){if("stylesheet"===e.type){var o=document.createElement("link");o.onload=t,o.onerror=s,o.rel="stylesheet",o.href=e.source,r.appendChild(o)}else{var n=document.createElement("style");n.innerHTML=e.source,r.appendChild(n),t()}}))}function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,t=r.querySelectorAll("style"),s=e.filter((function(e){return e.source&&("stylesheet"===e.type&&!r.querySelector("link[href='".concat(e.source,"']"))||"inlineStyle"===e.type&&Array.from(t).reduce((function(r,t){return t.innerHTML!==e.source&&r}),!0))}));return Promise.all(s.map((function(e){return o(e,r)})))}function u(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,o=r.querySelectorAll("script"),n=e.reduce((function(e,r){var s=r.source,n=Object.assign({},r);return"script"!==n.type&&"inlineScript"!==n.type?e:s!==Object(s)||(s.es11&&t.isES11Supported()?n.source=s.es11:s.es9&&t.isES9Supported()?n.source=s.es9:n.source=s.es5,n.source)?(Array.from(o).reduce((function(e,r){return r.text===n.source||e}),!1)||n.test&&t.test(n.test)||e.push(n),e):(console.warn("Asset '".concat(n.name,"' is missing ES variant and could not be loaded.")),e)}),[]);return Promise.all(n.map((function(e){return s(e,r)})))}exports.loadAssets=function(e,r){return Promise.all([u(e,r),n(e,r)])},exports.loadScriptAssets=u,exports.loadStyleAssets=n,exports.testScript=t;
package/lib/index.es9.cjs CHANGED
@@ -42,6 +42,18 @@ const exported = {
42
42
 
43
43
  function _loadScript(asset, root) {
44
44
  return new Promise((resolve, reject) => {
45
+ const scriptElement = root.querySelector(`script[src='${asset.source}']`);
46
+
47
+ if (scriptElement) {
48
+ if (performance && performance.getEntriesByName && performance.getEntriesByName(scriptElement.src).find(entry => entry.entryType === 'resource' && entry.responseEnd) || !performance || !performance.getEntriesByName) {
49
+ setTimeout(resolve, 0);
50
+ return;
51
+ }
52
+
53
+ scriptElement.addEventListener('load', resolve);
54
+ return;
55
+ }
56
+
45
57
  const script = document.createElement('script');
46
58
 
47
59
  if (asset.type === 'script') {
@@ -135,7 +147,7 @@ function loadScriptAssets(assets, root = document.head) {
135
147
  }
136
148
  }
137
149
 
138
- if (root.querySelector(`script[src='${_asset.source}']`) || Array.from(scriptElements).reduce((acc, cur) => {
150
+ if (Array.from(scriptElements).reduce((acc, cur) => {
139
151
  if (cur.text === _asset.source) {
140
152
  return true;
141
153
  }
package/lib/index.es9.mjs CHANGED
@@ -36,6 +36,18 @@ const exported = {
36
36
 
37
37
  function _loadScript(asset, root) {
38
38
  return new Promise((resolve, reject) => {
39
+ const scriptElement = root.querySelector(`script[src='${asset.source}']`);
40
+
41
+ if (scriptElement) {
42
+ if (performance && performance.getEntriesByName && performance.getEntriesByName(scriptElement.src).find(entry => entry.entryType === 'resource' && entry.responseEnd) || !performance || !performance.getEntriesByName) {
43
+ setTimeout(resolve, 0);
44
+ return;
45
+ }
46
+
47
+ scriptElement.addEventListener('load', resolve);
48
+ return;
49
+ }
50
+
39
51
  const script = document.createElement('script');
40
52
 
41
53
  if (asset.type === 'script') {
@@ -129,7 +141,7 @@ function loadScriptAssets(assets, root = document.head) {
129
141
  }
130
142
  }
131
143
 
132
- if (root.querySelector(`script[src='${_asset.source}']`) || Array.from(scriptElements).reduce((acc, cur) => {
144
+ if (Array.from(scriptElements).reduce((acc, cur) => {
133
145
  if (cur.text === _asset.source) {
134
146
  return true;
135
147
  }
package/lib/index.js CHANGED
@@ -49,6 +49,28 @@ const exported = {
49
49
 
50
50
  function _loadScript(asset, root) {
51
51
  return new Promise((resolve, reject) => {
52
+ const scriptElement = root.querySelector(`script[src='${asset.source}']`);
53
+
54
+ if (scriptElement) {
55
+ if (
56
+ (performance &&
57
+ performance.getEntriesByName &&
58
+ performance
59
+ .getEntriesByName(scriptElement.src)
60
+ .find(
61
+ (entry) => entry.entryType === 'resource' && entry.responseEnd
62
+ )) ||
63
+ !performance ||
64
+ !performance.getEntriesByName
65
+ ) {
66
+ setTimeout(resolve, 0);
67
+ return;
68
+ }
69
+
70
+ scriptElement.addEventListener('load', resolve);
71
+ return;
72
+ }
73
+
52
74
  const script = document.createElement('script');
53
75
 
54
76
  if (asset.type === 'script') {
@@ -150,7 +172,6 @@ function loadScriptAssets(assets, root = document.head) {
150
172
  }
151
173
 
152
174
  if (
153
- root.querySelector(`script[src='${_asset.source}']`) ||
154
175
  Array.from(scriptElements).reduce((acc, cur) => {
155
176
  if (cur.text === _asset.source) {
156
177
  return true;
package/lib/index.mjs CHANGED
@@ -45,6 +45,28 @@ const exported = {
45
45
 
46
46
  function _loadScript(asset, root) {
47
47
  return new Promise((resolve, reject) => {
48
+ const scriptElement = root.querySelector(`script[src='${asset.source}']`);
49
+
50
+ if (scriptElement) {
51
+ if (
52
+ (performance &&
53
+ performance.getEntriesByName &&
54
+ performance
55
+ .getEntriesByName(scriptElement.src)
56
+ .find(
57
+ (entry) => entry.entryType === 'resource' && entry.responseEnd
58
+ )) ||
59
+ !performance ||
60
+ !performance.getEntriesByName
61
+ ) {
62
+ setTimeout(resolve, 0);
63
+ return;
64
+ }
65
+
66
+ scriptElement.addEventListener('load', resolve);
67
+ return;
68
+ }
69
+
48
70
  const script = document.createElement('script');
49
71
 
50
72
  if (asset.type === 'script') {
@@ -146,7 +168,6 @@ function loadScriptAssets(assets, root = document.head) {
146
168
  }
147
169
 
148
170
  if (
149
- root.querySelector(`script[src='${_asset.source}']`) ||
150
171
  Array.from(scriptElements).reduce((acc, cur) => {
151
172
  if (cur.text === _asset.source) {
152
173
  return true;
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/integration",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var r={exports:{}};t(r.exports),e.Merkur=e.Merkur||{},e.Merkur.Integration=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){var t,r;Object.defineProperty(e,"__esModule",{value:!0}),e.loadAssets=function(e,t){return Promise.all([i(e,t),u(e,t)])},e.loadScriptAssets=i,e.loadStyleAssets=u,e.testScript=void 0;var n={isES9Supported:function(){return void 0===t&&(t=n.test("return (() => { const o = { t: 1 }; return { ...o }; })() && (async () => ({}))()")&&!!Object.values),t},isES11Supported:function(){return void 0===r&&(r=n.test("return (() => { const o = { t: { q: true } }; return o?.t?.q && (o?.a?.q ?? true); })()")&&n.test('return typeof Promise.allSettled === "function"')&&n.test('return typeof globalThis !== "undefined"')&&n.test('return typeof 9007199254740991n === "bigint"')),r},test:function(e){try{return!!new Function(e)()}catch(e){return!1}}};function o(e,t){return new Promise((function(r,n){var o=document.createElement("script");if("script"===e.type){o.defer=!0,o.onload=r,o.onerror=e.optional?r:n,o.src=e.source;var s=e.attr;if(s&&Object.keys(s).length)for(var u in s){var i=s[u];"boolean"==typeof i?i?o.setAttribute(u,""):o.removeAttribute(u):o.setAttribute(u,i)}}else o.text=e.source,r();t.appendChild(o)}))}function s(e,t){return new Promise((function(r,n){if("stylesheet"===e.type){var o=document.createElement("link");o.onload=r,o.onerror=n,o.rel="stylesheet",o.href=e.source,t.appendChild(o)}else{var s=document.createElement("style");s.innerHTML=e.source,t.appendChild(s),r()}}))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,r=t.querySelectorAll("style"),n=e.filter((function(e){return e.source&&("stylesheet"===e.type&&!t.querySelector("link[href='".concat(e.source,"']"))||"inlineStyle"===e.type&&Array.from(r).reduce((function(t,r){return r.innerHTML!==e.source&&t}),!0))}));return Promise.all(n.map((function(e){return s(e,t)})))}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,r=t.querySelectorAll("script"),s=e.reduce((function(e,o){var s=o.source,u=Object.assign({},o);return"script"!==u.type&&"inlineScript"!==u.type?e:s!==Object(s)||(s.es11&&n.isES11Supported()?u.source=s.es11:s.es9&&n.isES9Supported()?u.source=s.es9:u.source=s.es5,u.source)?(t.querySelector("script[src='".concat(u.source,"']"))||Array.from(r).reduce((function(e,t){return t.text===u.source||e}),!1)||u.test&&n.test(u.test)||e.push(u),e):(console.warn("Asset '".concat(u.name,"' is missing ES variant and could not be loaded.")),e)}),[]);return Promise.all(s.map((function(e){return o(e,t)})))}e.testScript=n}));
1
+ !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/integration",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var r={exports:{}};t(r.exports),e.Merkur=e.Merkur||{},e.Merkur.Integration=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){var t,r;Object.defineProperty(e,"__esModule",{value:!0}),e.loadAssets=function(e,t){return Promise.all([u(e,t),i(e,t)])},e.loadScriptAssets=u,e.loadStyleAssets=i,e.testScript=void 0;var n={isES9Supported:function(){return void 0===t&&(t=n.test("return (() => { const o = { t: 1 }; return { ...o }; })() && (async () => ({}))()")&&!!Object.values),t},isES11Supported:function(){return void 0===r&&(r=n.test("return (() => { const o = { t: { q: true } }; return o?.t?.q && (o?.a?.q ?? true); })()")&&n.test('return typeof Promise.allSettled === "function"')&&n.test('return typeof globalThis !== "undefined"')&&n.test('return typeof 9007199254740991n === "bigint"')),r},test:function(e){try{return!!new Function(e)()}catch(e){return!1}}};function o(e,t){return new Promise((function(r,n){var o=t.querySelector("script[src='".concat(e.source,"']"));if(o)return performance&&performance.getEntriesByName&&performance.getEntriesByName(o.src).find((function(e){return"resource"===e.entryType&&e.responseEnd}))||!performance||!performance.getEntriesByName?void setTimeout(r,0):void o.addEventListener("load",r);var s=document.createElement("script");if("script"===e.type){s.defer=!0,s.onload=r,s.onerror=e.optional?r:n,s.src=e.source;var i=e.attr;if(i&&Object.keys(i).length)for(var u in i){var c=i[u];"boolean"==typeof c?c?s.setAttribute(u,""):s.removeAttribute(u):s.setAttribute(u,c)}}else s.text=e.source,r();t.appendChild(s)}))}function s(e,t){return new Promise((function(r,n){if("stylesheet"===e.type){var o=document.createElement("link");o.onload=r,o.onerror=n,o.rel="stylesheet",o.href=e.source,t.appendChild(o)}else{var s=document.createElement("style");s.innerHTML=e.source,t.appendChild(s),r()}}))}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,r=t.querySelectorAll("style"),n=e.filter((function(e){return e.source&&("stylesheet"===e.type&&!t.querySelector("link[href='".concat(e.source,"']"))||"inlineStyle"===e.type&&Array.from(r).reduce((function(t,r){return r.innerHTML!==e.source&&t}),!0))}));return Promise.all(n.map((function(e){return s(e,t)})))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document.head,r=t.querySelectorAll("script"),s=e.reduce((function(e,t){var o=t.source,s=Object.assign({},t);return"script"!==s.type&&"inlineScript"!==s.type?e:o!==Object(o)||(o.es11&&n.isES11Supported()?s.source=o.es11:o.es9&&n.isES9Supported()?s.source=o.es9:s.source=o.es5,s.source)?(Array.from(r).reduce((function(e,t){return t.text===s.source||e}),!1)||s.test&&n.test(s.test)||e.push(s),e):(console.warn("Asset '".concat(s.name,"' is missing ES variant and could not be loaded.")),e)}),[]);return Promise.all(s.map((function(e){return o(e,t)})))}e.testScript=n}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/integration",
3
- "version": "0.28.0",
3
+ "version": "0.29.2",
4
4
  "description": "Merkur module for easy integration with other apps.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -49,11 +49,11 @@
49
49
  },
50
50
  "homepage": "https://merkur.js.org/",
51
51
  "devDependencies": {
52
- "@merkur/core": "^0.28.0",
52
+ "@merkur/core": "^0.29.1",
53
53
  "rollup": "^2.70.2"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@merkur/core": "*"
57
57
  },
58
- "gitHead": "8760a1cedbbfc37348055418bacbfc69199a3c06"
58
+ "gitHead": "47cd30885b91c8159239d313a6ef4b7f78a09a41"
59
59
  }
package/jest.config.js DELETED
@@ -1,5 +0,0 @@
1
- const defaultConfig = require('../../jest.config.js');
2
-
3
- defaultConfig.testEnvironment = 'jsdom';
4
-
5
- module.exports = { ...defaultConfig };