@merkur/integration 0.27.5 → 0.28.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/lib/index.cjs CHANGED
@@ -54,7 +54,7 @@ function _loadScript(asset, root) {
54
54
  if (asset.type === 'script') {
55
55
  script.defer = true;
56
56
  script.onload = resolve;
57
- script.onerror = reject;
57
+ script.onerror = asset.optional ? resolve : reject;
58
58
  script.src = asset.source;
59
59
 
60
60
  const { attr } = asset;
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.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=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.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;
package/lib/index.es9.cjs CHANGED
@@ -47,7 +47,7 @@ function _loadScript(asset, root) {
47
47
  if (asset.type === 'script') {
48
48
  script.defer = true;
49
49
  script.onload = resolve;
50
- script.onerror = reject;
50
+ script.onerror = asset.optional ? resolve : reject;
51
51
  script.src = asset.source;
52
52
  const {
53
53
  attr
package/lib/index.es9.mjs CHANGED
@@ -41,7 +41,7 @@ function _loadScript(asset, root) {
41
41
  if (asset.type === 'script') {
42
42
  script.defer = true;
43
43
  script.onload = resolve;
44
- script.onerror = reject;
44
+ script.onerror = asset.optional ? resolve : reject;
45
45
  script.src = asset.source;
46
46
  const {
47
47
  attr
package/lib/index.js CHANGED
@@ -54,7 +54,7 @@ function _loadScript(asset, root) {
54
54
  if (asset.type === 'script') {
55
55
  script.defer = true;
56
56
  script.onload = resolve;
57
- script.onerror = reject;
57
+ script.onerror = asset.optional ? resolve : reject;
58
58
  script.src = asset.source;
59
59
 
60
60
  const { attr } = asset;
package/lib/index.mjs CHANGED
@@ -50,7 +50,7 @@ function _loadScript(asset, root) {
50
50
  if (asset.type === 'script') {
51
51
  script.defer = true;
52
52
  script.onload = resolve;
53
- script.onerror = reject;
53
+ script.onerror = asset.optional ? resolve : reject;
54
54
  script.src = asset.source;
55
55
 
56
56
  const { attr } = asset;
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=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([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}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/integration",
3
- "version": "0.27.5",
3
+ "version": "0.28.0",
4
4
  "description": "Merkur module for easy integration with other apps.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -26,7 +26,7 @@
26
26
  "scripts": {
27
27
  "preversion": "npm test",
28
28
  "test": "../../node_modules/.bin/jest --no-watchman -c ./jest.config.js",
29
- "test:es:version": "../../node_modules/.bin/es-check es5 ./lib/index.es5.js && ../../node_modules/.bin/es-check --module es11 ./lib/index.mjs && ../../node_modules/.bin/es-check --module es9 ./lib/index.es9.mjs && ../../node_modules/.bin/es-check --module es9 ./lib/index.es9.cjs",
29
+ "test:es:version": "../../node_modules/.bin/es-check es5 ./lib/index.es5.js && ../../node_modules/.bin/es-check es11 ./lib/index.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.mjs --module && ../../node_modules/.bin/es-check es9 ./lib/index.es9.cjs --module",
30
30
  "build": "node_modules/.bin/rollup -c",
31
31
  "prepare": "npm run build"
32
32
  },
@@ -49,11 +49,11 @@
49
49
  },
50
50
  "homepage": "https://merkur.js.org/",
51
51
  "devDependencies": {
52
- "@merkur/core": "^0.27.1",
53
- "rollup": "^2.56.2"
52
+ "@merkur/core": "^0.28.0",
53
+ "rollup": "^2.70.2"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "@merkur/core": "*"
57
57
  },
58
- "gitHead": "2886a662b5936c5d5769baa2feaf4d08f45a22f8"
58
+ "gitHead": "8760a1cedbbfc37348055418bacbfc69199a3c06"
59
59
  }
@@ -68,4 +68,30 @@ describe('createAssets method', () => {
68
68
  expect.stringContaining('polyfill.js')
69
69
  );
70
70
  });
71
+
72
+ it('should not modifi original assets', async () => {
73
+ await createAssets({
74
+ assets,
75
+ staticFolder,
76
+ staticBaseUrl,
77
+ folders,
78
+ });
79
+
80
+ expect(assets).toMatchInlineSnapshot(`
81
+ Array [
82
+ Object {
83
+ "name": "polyfill.js",
84
+ "type": "script",
85
+ },
86
+ Object {
87
+ "name": "widget.js",
88
+ "type": "script",
89
+ },
90
+ Object {
91
+ "name": "style.css",
92
+ "type": "stylesheet",
93
+ },
94
+ ]
95
+ `);
96
+ });
71
97
  });
package/server/index.js CHANGED
@@ -53,28 +53,31 @@ async function createAssets({ assets, staticFolder, folders, staticBaseUrl }) {
53
53
  staticBaseUrl = staticBaseUrl.slice(0, -1);
54
54
  }
55
55
 
56
- const processedAssets = await folders.reduce(async (assets, folder) => {
57
- assets = await assets;
58
- const folderPath = path.join(staticFolder, folder);
59
-
60
- const manifestFile = await fsp.readFile(
61
- path.join(folderPath, 'manifest.json'),
62
- { encoding: 'utf-8' }
63
- );
64
- const manifest = JSON.parse(manifestFile);
65
-
66
- return Promise.all(
67
- assets.map(async (asset) =>
68
- processAssetInFolder({
69
- asset,
70
- folder,
71
- fileName: manifest[asset.name],
72
- staticBaseUrl,
73
- staticFolder,
74
- })
75
- )
76
- );
77
- }, assets);
56
+ const processedAssets = await folders.reduce(
57
+ async (assets, folder) => {
58
+ assets = await assets;
59
+ const folderPath = path.join(staticFolder, folder);
60
+
61
+ const manifestFile = await fsp.readFile(
62
+ path.join(folderPath, 'manifest.json'),
63
+ { encoding: 'utf-8' }
64
+ );
65
+ const manifest = JSON.parse(manifestFile);
66
+
67
+ return Promise.all(
68
+ assets.map(async (asset) =>
69
+ processAssetInFolder({
70
+ asset: { ...asset },
71
+ folder,
72
+ fileName: manifest[asset.name],
73
+ staticBaseUrl,
74
+ staticFolder,
75
+ })
76
+ )
77
+ );
78
+ },
79
+ [...assets]
80
+ );
78
81
 
79
82
  return processedAssets.filter((asset) => {
80
83
  if (!asset.source) {