@contentful/app-sdk 4.62.1 → 4.63.1
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/dist/cf-extension-api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("contentful-management")):"function"==typeof define&&define.amd?define(["exports","contentful-management"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).contentfulExtension={},e.contentfulManagement)}(this,function(e,t){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=n(t),o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})}function l(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function u(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var c=function(){function e(){this._id=0,this._listeners={}}return e.prototype.dispatch=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r in this._listeners)(e=this._listeners)[r].apply(e,t)},e.prototype.attach=function(e){var t=this;if("function"!=typeof e)throw new Error("listener function expected");var n=this._id++;return this._listeners[n]=e,function(){return delete t._listeners[n]}},e}(),d=function(e){function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=e.call(this)||this;if(!t.length)throw new Error("Initial value to be memoized expected");return r._memoizedArgs=t,r}return i(t,e),t.prototype.dispatch=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._memoizedArgs=t,e.prototype.dispatch.apply(this,t)},t.prototype.attach=function(t){var n=e.prototype.attach.call(this,t);return t.apply(void 0,this._memoizedArgs),n},t.prototype.getMemoizedArgs=function(){return this._memoizedArgs},t}(c);var f,p=function(){function e(e,t){var n=this;this._messageHandlers={},this._responseHandlers={},this._send=function(e,t){return function(n,r){var o=h.getMessageId();try{t.postMessage({source:e,id:o,method:n,params:r},"*")}catch(e){throw e instanceof DOMException&&"DataCloneError"===e.name&&"openDialog"===n&&console.error("Error: openCurrent[App] parameters could not be parsed. You likely tried to pass functions or DOM elements as a parameter. Tip: Use the App SDK directly within the dialog location.\n\nLearn more about the dialog location: https://ctfl.io/app-sdk-dialog"),e}return o}}(e,t.parent),t.addEventListener("message",function(e){n._handleMessage(e.data)})}return e.prototype.call=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=this._send(e,n);return new Promise(function(e,n){t._responseHandlers[o]={resolve:e,reject:n}})},e.prototype.send=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this._send(e,t)},e.prototype.addHandler=function(e,t){return e in this._messageHandlers||(this._messageHandlers[e]=new c),this._messageHandlers[e].attach(t)},e.prototype._handleMessage=function(e){if(e.method){var t=e.method,n=e.params,r=this._messageHandlers[t];r&&r.dispatch.apply(r,n)}else{var o=e.id,i=this._responseHandlers[o];if(!i)return;"result"in e?i.resolve(e.result):"error"in e&&i.reject(e.error),delete this._responseHandlers[o]}},e}(),h=(f=0,{getMessageId:function(){return f++}});var g=function(){function e(e,t){var n=this;this.id=t.id,this.name=t.name,this.locale=t.locale,this.required=t.required,this.validations=t.validations,this._value=t.value,this._valueSignal=new d(this._value),this._isDisabledSignal=new d(t.isDisabled),this._schemaErrorsChangedSignal=new d(t.schemaErrors),this._channel=e,e.addHandler("valueChanged",function(e,t,r){e!==n.id||t&&t!==n.locale||(n._value=r,n._valueSignal.dispatch(r))}),e.addHandler("isDisabledChangedForFieldLocale",function(e,t,r){e===n.id&&t===n.locale&&n._isDisabledSignal.dispatch(r)}),e.addHandler("schemaErrorsChangedForFieldLocale",function(e,t,r){e===n.id&&t===n.locale&&n._schemaErrorsChangedSignal.dispatch(r)})}return e.prototype.getValue=function(){return this._value},e.prototype.setValue=function(e){return s(this,void 0,void 0,function(){return l(this,function(t){switch(t.label){case 0:return this._value=e,[4,this._channel.call("setValue",this.id,this.locale,e)];case 1:return[2,t.sent()]}})})},e.prototype.removeValue=function(){return s(this,void 0,void 0,function(){return l(this,function(e){switch(e.label){case 0:return this._value=void 0,[4,this._channel.call("removeValue",this.id,this.locale)];case 1:return e.sent(),[2]}})})},e.prototype.setInvalid=function(e){return this._channel.call("setInvalid",e,this.locale)},e.prototype.onValueChanged=function(e){return this._valueSignal.attach(e)},e.prototype.getIsDisabled=function(){return this._isDisabledSignal.getMemoizedArgs()[0]},e.prototype.onIsDisabledChanged=function(e){return this._isDisabledSignal.attach(e)},e.prototype.getSchemaErrors=function(){return this._schemaErrorsChangedSignal.getMemoizedArgs()[0]},e.prototype.onSchemaErrorsChanged=function(e){return this._schemaErrorsChangedSignal.attach(e)},e}(),y=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r}return i(t,e),t}(g),v=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r.items=n.items,r}return i(t,e),t}(g),m=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r.linkType=n.linkType,r}return i(t,e),t}(g);function E(e,t){switch(t.type){case"Link":return new m(e,t);case"Array":return new v(e,t);default:return new y(e,t)}}var A=function(){function e(e,t,n){var r=this;this.id=t.id,this.name=t.name,this.locales=t.locales,this.required=t.required,this.validations=t.validations,this._defaultLocale=n,this._fieldLocales=t.locales.reduce(function(n,o){var i,s=E(e,r.toFieldInfo(t,o));return a(a({},n),((i={})[o]=s,i))},{}),this.assertHasLocale(n)}return e.prototype.getValue=function(e){return this._getFieldLocale(e).getValue()},e.prototype.setValue=function(e,t){return s(this,void 0,void 0,function(){return l(this,function(n){switch(n.label){case 0:return[4,this._getFieldLocale(t).setValue(e)];case 1:return[2,n.sent()]}})})},e.prototype.removeValue=function(e){return s(this,void 0,void 0,function(){return l(this,function(t){switch(t.label){case 0:return[4,this.setValue(void 0,e)];case 1:return t.sent(),[2]}})})},e.prototype.onValueChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onValueChanged(n)},e.prototype.onIsDisabledChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onIsDisabledChanged(n)},e.prototype._getFieldLocale=function(e){return e=e||this._defaultLocale,this.assertHasLocale(e),this._fieldLocales[e]},e.prototype.getForLocale=function(e){if(!e)throw new Error("getForLocale must be passed a locale");return this._getFieldLocale(e)},e.prototype.assertHasLocale=function(e){if(!this._fieldLocales[e])throw new Error('Unknown locale "'.concat(e,'" for field "').concat(this.id,'"'))},e.prototype.toFieldInfo=function(e,t){var n={id:e.id,name:e.name,required:e.required,validations:e.validations,locale:t,value:e.values[t],isDisabled:e.isDisabled[t],schemaErrors:e.schemaErrors[t]};switch(e.type){case"Array":return a(a({},n),{type:e.type,items:e.items});case"Link":return a(a({},n),{type:e.type,linkType:e.linkType});default:return a(a({},n),{type:e.type})}},e}(),b=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o}return i(t,e),t}(A),C=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o.items=n.items,o}return i(t,e),t}(A),w=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o.linkType=n.linkType,o}return i(t,e),t}(A);function _(e,t){var n,r=e.document,o=e.MutationObserver,i=e.ResizeObserver,a=!1,s=!1,l=new Set,u=new o(function(e){!function(e){e.forEach(function(e){switch(e.type){case"attributes":if(e.target.nodeType===Node.ELEMENT_NODE){var t=e.target;f(e.type,t)?l.add(t):l.delete(t)}break;case"childList":e.addedNodes.forEach(function(t){if(t.nodeType===Node.ELEMENT_NODE){var n=t;f(e.type,n)&&l.add(n)}}),e.removedNodes.forEach(function(e){var t=e;l.delete(t)})}})}(e),a&&d.updateHeight()}),c=new i(function(){d.updateHeight()});u.observe(r.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0});var d={startAutoResizer:function(e){var t=void 0===e?{}:e,n=t.absoluteElements;if(s=Boolean(n===void 0?false:n),d.updateHeight(),a)return;a=!0,c.observe(r.body)},stopAutoResizer:function(){if(!a)return;a=!1,c.disconnect()},updateHeight:function(e){void 0===e&&(e=null);if(null===e){var o=Math.ceil(r.documentElement.getBoundingClientRect().height);if(s&&l.size){var i=o;l.forEach(function(e){i=Math.max(e.getBoundingClientRect().bottom,i)}),e=i}else e=o}e!==n&&(t.send("setHeight",e),n=e)}};return d;function f(e,t){var n=getComputedStyle(t);return"absolute"===n.position&&("attributes"!==e||"none"!==n.display)}}var T=["getTask","getTasks","createTask","updateTask","deleteTask"];function I(e,t,n,r){var o=t.sys,i=O(o),s=new d(o),l=t.metadata,u=new d(l);e.addHandler("sysChanged",function(e){i=O(o=e),s.dispatch(o)}),e.addHandler("metadataChanged",function(e){l=e,u.dispatch(l)});var c={};return T.forEach(function(t){c[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.call("callEntryMethod",t,n)}}),a(a(a({getSys:function(){return o},publish:function(t){if(i)throw new Error('SDK method "publish" is not supported in release context');return e.call("callEntryMethod","publish",[t])},unpublish:function(){if(i)throw new Error('SDK method "unpublish" is not supported in release context');return e.call("callEntryMethod","unpublish")},save:function(){return e.call("callEntryMethod","save")},onSysChanged:function(e){return s.attach(e)},fields:n.reduce(function(e,t){return e[t.id]=r(t),e},{})},l?{metadata:l}:{}),{getMetadata:function(){return l},onMetadataChanged:function(e){return u.attach(e)}}),c)}function O(e){var t,n;return!!(null===(n=null===(t=null==e?void 0:e.release)||void 0===t?void 0:t.sys)||void 0===n?void 0:n.id)}function x(e,t){if(!t)throw new Error("Asset data is required");var n=t.sys,r=new d(n),o=t.metadata,i=new d(o);return e.addHandler("sysChanged",function(e){n=e,r.dispatch(n)}),e.addHandler("metadataChanged",function(e){o=e,i.dispatch(o)}),{getSys:function(){return n},publish:function(t){return e.call("callAssetMethod","publish",[t])},unpublish:function(){return e.call("callAssetMethod","unpublish")},save:function(){return e.call("callAssetMethod","save")},onSysChanged:function(e){return r.attach(e)},getMetadata:function(){return o},onMetadataChanged:function(e){return i.attach(e)}}}var L=["getContentType","getEntry","getEntrySnapshots","getAsset","getEditorInterface","getPublishedEntries","getPublishedAssets","getContentTypes","getEntries","getEditorInterfaces","getAssets","createContentType","createEntry","createAsset","updateContentType","updateEntry","updateAsset","deleteContentType","deleteEntry","deleteAsset","publishEntry","publishAsset","unpublishEntry","unpublishAsset","archiveEntry","archiveAsset","unarchiveEntry","unarchiveAsset","createUpload","processAsset","waitUntilAssetProcessed","getUsers","getAllScheduledActions","getEntityScheduledActions","signRequest","createTag","readTags","updateTag","deleteTag","getTeams"];function S(e,t){var n={};return L.forEach(function(t){n[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return console.warn("You called ".concat(String(t)," on the Space API. Since version 4.0.0 the Space API and its methods are deprecated, and they will be removed from version 5.0.0 on. We recommend that you use the CMA client instead. See https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library for more details.")),e.call("callSpaceMethod",t,n)}}),n.getCachedContentTypes=function(){return u([],t,!0)},n}var D=function(e){return"object"!=typeof(t=e)||null===t||Array.isArray(t)?{}:e;var t};function N(e,t){return{openAlert:n.bind(null,"alert"),openConfirm:n.bind(null,"confirm"),openPrompt:n.bind(null,"prompt"),openExtension:r,openCurrentApp:o,openCurrent:function(e){return t.app?o(e):r(a(a({},e),{id:t.extension}))},selectSingleEntry:i.bind(null,"Entry",!1),selectSingleAsset:i.bind(null,"Asset",!1),selectMultipleEntries:i.bind(null,"Entry",!0),selectMultipleAssets:i.bind(null,"Asset",!0),selectSingleExperience:i.bind(null,"Experience",!1),selectMultipleExperiences:i.bind(null,"Experience",!0),selectSinglePattern:i.bind(null,"Pattern",!1),selectMultiplePatterns:i.bind(null,"Pattern",!0),selectSingleComponentDefinition:i.bind(null,"ComponentDefinition",!1),selectMultipleComponentDefinitions:i.bind(null,"ComponentDefinition",!0),selectSingleResourceEntity:function(e){return s(!1,e)},selectMultipleResourceEntities:function(e){return s(!0,e)}};function n(t,n){return e.call("openDialog",t,D(n))}function r(n){var r=D(n);if((r=a(a({},r),{id:r.id||t.extension})).id)return e.call("openDialog","extension",r);throw new Error("Extension ID not provided.")}function o(n){if(n=D(n),t.app){var r=a(a({},n),{id:t.app});return e.call("openDialog","app",r)}throw new Error("Not in the app context.")}function i(t,n,r){return(r=D(r)).entityType=t,r.multiple=n,e.call("openDialog","entitySelector",r)}function s(t,n){var r=D(n);return r.multiple=t,e.call("openDialog","resourceEntitySelector",r)}}function M(e,t,n){var r=new d(n.localeSettings),o=new d(n.showHiddenFields);return e.addHandler("localeSettingsChanged",function(e){r.dispatch(e)}),e.addHandler("showHiddenFieldsChanged",function(e){o.dispatch(e)}),{editorInterface:t,getLocaleSettings:function(){return r.getMemoizedArgs()[0]},onLocaleSettingsChanged:function(e){return r.attach(e)},onShowDisabledFieldsChanged:function(e){return o.attach(e)},getShowHiddenFields:function(){return o.getMemoizedArgs()[0]},onShowHiddenFieldsChanged:function(e){return o.attach(e)}}}function P(e,t,n){var r,o=new c;e.addHandler("navigateSlideIn",function(e){o.dispatch(e)});var i=n?null===(r=n.sys)||void 0===r?void 0:r.id:void 0;return{openEntry:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Entry",id:t,releaseId:i}))},openNewEntry:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Entry",id:null,contentTypeId:t}))},openBulkEditor:function(t,n){return e.call("navigateToBulkEditor",a({entryId:t},n))},openAsset:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Asset",id:t,releaseId:i}))},openNewAsset:function(t){return e.call("navigateToContentEntity",a(a({},t),{entityType:"Asset",id:null}))},openPageExtension:function(n){return e.call("navigateToPage",a({type:"extension",id:t.extension},n))},openCurrentAppPage:function(n){return e.call("navigateToPage",a({type:"app",id:t.app},n))},openAppConfig:function(){return e.call("navigateToAppConfig")},openEntriesList:function(){return e.call("navigateToSpaceEnvRoute",{route:"entries",releaseId:i})},openAssetsList:function(){return e.call("navigateToSpaceEnvRoute",{route:"assets",releaseId:i})},onSlideInNavigation:function(e){return o.attach(e)}}}var H="preInstall",R="postInstall",k=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},F=function(e){return"function"==typeof e},V=function(e){return console.error(e),Promise.resolve(!1)},z=function(e,t,n){if(!F(e))return Promise.resolve(t);var r;try{r=void 0===n?e():e(n)}catch(e){return V(e)}var o,i=r;return k(o=i)&&F(o.then)||(i=Promise.resolve(i)),i.then(function(e){return e instanceof Error?Promise.reject(e):!1!==e&&(k(e)?e:t)},V).catch(V)};function j(e){var t,n=((t={})[H]=null,t[R]=null,t),r=function(e,t){if(!F(t))throw new Error("Handler must be a function.");n[e]=t};return e.addHandler("appHook",function(t){var r=t.stage,o=t.installationRequestId,i=t.err;return r===H?z(n[r],{}).then(function(t){return e.send("appHookResult",{stage:r,installationRequestId:o,result:t})}):r===R?z(n[r],void 0,i||null).then(function(){return e.send("appHookResult",{stage:r,installationRequestId:o})}):Promise.resolve()}),{setReady:function(){return e.call("callAppMethod","setReady")},isInstalled:function(){return e.call("callAppMethod","isInstalled")},getParameters:function(){return e.call("callAppMethod","getParameters")},getCurrentState:function(){return e.call("callAppMethod","getCurrentState")},onConfigure:function(e){r(H,e)},onConfigurationCompleted:function(e){r(R,e)}}}function q(e,t){if(!t)throw new Error("Context data is required");var n=new d(t),r=new c,o=new d("normal");return e.addHandler("contextChanged",function(e){n.dispatch(e)}),e.addHandler("toolbarAction",function(e){r.dispatch(e)}),e.addHandler("agentLayoutVariantChanged",function(e){o.dispatch(e)}),{onContextChange:function(e){return n.attach(e)},onToolbarAction:function(e){return r.attach(e)},onAgentLayoutVariantChange:function(e){return o.attach(e)},setAgentLayoutVariant:function(t){if("expanded"!==t&&"normal"!==t)throw new Error('Invalid layout variant "'.concat(t,'". Expected "expanded" or "normal".'));e.send("setAgentLayoutVariant",t)}}}function B(e,t){var n,r;if(void 0===t)throw new Error("Context data is required");var o=null!==(n=t.context)&&void 0!==n?n:{type:"experience",entityId:""},i=new d(o);e.addHandler("exo.contextChanged",function(e){i.dispatch(e)});var s=null!==(r=t.uiMode)&&void 0!==r?r:"form",l=new d(s);e.addHandler("exo.uiModeChanged",function(e){l.dispatch(e.mode)});var u=function(e,t){var n=new d(null!=t?t:{sys:{id:"",type:"Experience",version:0,template:{sys:{type:"ResourceLink",linkType:"Contentful:Template",urn:""}}}});e.addHandler("exo.experienceChanged",function(e){n.dispatch(e)});var r=function(e){var t=new d({nodeId:null});return e.addHandler("exo.selectionChanged",function(e){t.dispatch(e)}),{get:function(){return t.getMemoizedArgs()[0]},onChange:function(e){return t.attach(e)},set:function(t){e.send("exo.setSelection",{nodeId:t})},highlight:function(t,n){e.send("exo.highlightNode",a({nodeId:t},n))}}}(e),o=function(e){var t={id:"",parameters:{}},n=new d(t);return e.addHandler("exo.dataAssemblyChanged",function(e){n.dispatch(e)}),a(a({get:function(){return n.getMemoizedArgs()[0]},getAvailable:function(){return e.call("exo.getAvailableDataAssemblies")}},Y(e,G)),{onChange:function(e){return n.attach(e)}})}(e),i=new Map;return{get:function(){return n.getMemoizedArgs()[0]},onChange:function(e){return n.attach(e)},save:function(){return e.call("exo.saveExperience")},publish:function(){return e.call("exo.publishExperience")},getNode:function(t){var n=i.get(t);return void 0===n&&(n=function(e,t,n){void 0===n&&(n="Component");var r=new d({id:t,nodeType:n});return e.addHandler("exo.nodeChanged.".concat(t),function(e){r.dispatch(e)}),{id:t,nodeType:n,get:function(){return r.getMemoizedArgs()[0]},onChange:function(e){return r.attach(e)},dataAssembly:Y(e,U,t),getDesignProperty:function(n){return e.call("exo.getNodeDesignProperty",t,n)},setDesignProperty:function(n,r){return e.call("exo.setNodeDesignProperty",t,n,r)},onDesignPropertyChanged:function(n,r){return e.addHandler("exo.nodeDesignPropertyChanged.".concat(t,".").concat(n),r)},getProperties:function(){return e.call("exo.getNodeProperties",t)},getSlotDescriptor:function(){return e.call("exo.getNodeSlotDescriptor",t)}}}(e,t),i.set(t,n)),n},getRootNodes:function(){return[]},selection:r,dataAssembly:o}}(e,t.experience);return{get context(){return i.getMemoizedArgs()[0]},onContextChanged:function(e){return i.attach(e)},getUiMode:function(){return l.getMemoizedArgs()[0]},onUiModeChanged:function(e){return l.attach(e)},experience:u}}function Y(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return{getParameterDefinitions:function(){return e.call.apply(e,u([t.definitions],n,!1))},getParameterDefinition:function(r){return e.call.apply(e,u(u([t.definition],n,!1),[r],!1))},setParameterValue:function(r,o){return e.call.apply(e,u(u([t.setValue],n,!1),[r,o],!1))},setParameterValues:function(r){return e.call.apply(e,u(u([t.setValues],n,!1),[r],!1))}}}var G={definitions:"exo.getDataAssemblyParameterDefinitions",definition:"exo.getDataAssemblyParameterDefinition",setValue:"exo.setDataAssemblyParameterValue",setValues:"exo.setDataAssemblyParameterValues"},U={definitions:"exo.getNodeParameterDefinitions",definition:"exo.getNodeParameterDefinition",setValue:"exo.setNodeParameterValue",setValues:"exo.setNodeParameterValues"};var K,W={LOCATION_ENTRY_FIELD:"entry-field",LOCATION_ENTRY_FIELD_SIDEBAR:"entry-field-sidebar",LOCATION_ENTRY_SIDEBAR:"entry-sidebar",LOCATION_ASSET_SIDEBAR:"asset-sidebar",LOCATION_DIALOG:"dialog",LOCATION_ENTRY_EDITOR:"entry-editor",LOCATION_PAGE:"page",LOCATION_APP_CONFIG:"app-config",LOCATION_HOME:"home",LOCATION_AGENT:"agent",LOCATION_EXPERIENCE_TOOLBAR:"experience-toolbar"},X=function(e){return function(t){return e.call("CMAAdapterCall",t)}};function J(e){return{makeRequest:X(e)}}function Q(e,t){var n;return function(e){var t,n,r=null!==(t=e.createClient)&&void 0!==t?t:null===(n=e.default)||void 0===n?void 0:n.createClient;if("function"!=typeof r)throw new TypeError("Could not resolve `createClient` from 'contentful-management'. This usually means an incompatible or duplicate version was bundled. Ensure a single contentful-management copy resolves in your app.");return r}(r)({apiAdapter:J(t)},{type:"plain",defaults:{environmentId:null!==(n=e.environmentAlias)&&void 0!==n?n:e.environment,spaceId:e.space,organizationId:e.organization,releaseId:e.release}})}var Z=[ee,re,function(e,t){var n=t.field;if(!n)throw new Error('FieldAPI called for location without "field" property defined.');return{field:E(e,n)}},ne,te],$=((K={})[W.LOCATION_ENTRY_FIELD]=Z,K[W.LOCATION_ENTRY_FIELD_SIDEBAR]=Z,K[W.LOCATION_ENTRY_SIDEBAR]=[ee,re,ne,te],K[W.LOCATION_ASSET_SIDEBAR]=[ee,function(e,t){var n=t.asset;return{asset:x(e,n)}},te],K[W.LOCATION_ENTRY_EDITOR]=[ee,re,ne],K[W.LOCATION_DIALOG]=[ee,function(e){return{close:function(t){return e.send("closeDialog",t)}}},te],K[W.LOCATION_PAGE]=[ee],K[W.LOCATION_HOME]=[ee],K[W.LOCATION_APP_CONFIG]=[ee,function(e){return{app:j(e)}}],K[W.LOCATION_AGENT]=[ee,function(e,t){var n=t.agent;return{agent:q(e,n)}},te],K[W.LOCATION_EXPERIENCE_TOOLBAR]=[ee,function(e,t){return{experiences:B(e,t.experiences)}}],K);function ee(e,t){var n=t.user,r=t.parameters,o=t.locales,i=t.ids,a=t.initialContentTypes,s=t.hostnames,l=t.release,u=t.uiLanguageLocale,c=t.location||W.LOCATION_ENTRY_FIELD;return{cma:Q(i,e),cmaAdapter:J(e),location:{is:function(e){return c===e}},user:n,parameters:r,locales:{available:o.available,default:o.default,names:o.names,fallbacks:o.fallbacks,optional:o.optional,direction:o.direction},space:S(e,a),dialogs:N(e,i),navigator:P(e,i,l),notifier:{success:function(t){return e.send("notify",{type:"success",message:t})},error:function(t){return e.send("notify",{type:"error",message:t})},warning:function(t){return e.send("notify",{type:"warning",message:t})}},ids:i,hostnames:s,release:l,uiLanguageLocale:u,access:{can:function(t,n,r){return e.call("checkAccess",t,n,r)},canEditAppConfig:function(){return e.call("checkAppConfigAccess")}}}}function te(e,t,n){return{window:_(n,e)}}function ne(e,t){return{editor:M(e,t.editorInterface,t.editor)}}function re(e,t){var n=t.locales,r=t.contentType,o=t.entry,i=t.fieldInfo;return{contentType:r,entry:I(e,o,i,function(t){return function(e,t,n){switch(t.type){case"Array":return new C(e,t,n);case"Link":return new w(e,t,n);default:return new b(e,t,n)}}(e,t,n.default)})}}var oe=function(e,t){if(void 0===e.window||void 0===e.document)return function(){};var n,r,o=((n={promise:null,resolve:null,isFulfilled:!1}).promise=new Promise(function(e){n.resolve=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];n.isFulfilled=!0,e.apply(void 0,t)}}),n);return o.promise.then(function(t){var n=t[0],r=e.document;r.addEventListener("focus",function(){return n.send("setActive",!0)},!0),r.addEventListener("blur",function(){return n.send("setActive",!1)},!0)}),function(e,t){!function(e,t){function n(r){var o=r.data;"connect"===o.method&&(e.removeEventListener("message",n),t.apply(void 0,o.params))}e.addEventListener("message",n)}(e,function(n,r){var o=new p(n.id,e);t(o,n,r)})}(e,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o.resolve(e)}),function(n,i){var a=void 0===i?{supressIframeWarning:!1}:i,s=a.makeCustomApi;a.supressIframeWarning||function(e){e.self===e.top&&console.error("Cannot use App SDK outside of Contenful:\n\nIn order for the App SDK to function correctly, your app needs to be run in an iframe in the Contentful Web App, Compose or Launch.\n\nLearn more about local development with the App SDK here:\nhttps://www.contentful.com/developers/docs/extensibility/ui-extensions/faq/#how-can-i-develop-with-the-ui-extension-sdk-locally")}(e),r||(r=o.promise.then(function(n){var r,o=n[0],i=n[1],a=n[2],l=t(o,i,e);return"function"==typeof s&&(r=s(o,i)),a.forEach(function(e){o._handleMessage(e)}),[l,r]}),o.isFulfilled||function(e){var t=h.getMessageId();e.parent.postMessage({id:t,method:"init",params:[]},"*")}(e)),r.then(function(e){var t=e[0],r=e[1];return n(t,r)})}}(globalThis,function(e,t,n){return($[t.location]||Z).reduce(function(r,o){return a(a({},r),o(e,t,n))},{})});e.init=oe,e.locations=W,Object.defineProperty(e,"__esModule",{value:!0})}),globalThis.contentfulApp=globalThis.contentfulExtension;
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("contentful-management")):"function"==typeof define&&define.amd?define(["exports","contentful-management"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).contentfulExtension={},e.contentfulManagement)}(this,function(e,t){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var r=n(t),o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function s(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})}function l(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function u(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var c=function(){function e(){this._id=0,this._listeners={}}return e.prototype.dispatch=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r in this._listeners)(e=this._listeners)[r].apply(e,t)},e.prototype.attach=function(e){var t=this;if("function"!=typeof e)throw new Error("listener function expected");var n=this._id++;return this._listeners[n]=e,function(){return delete t._listeners[n]}},e}(),d=function(e){function t(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=e.call(this)||this;if(!t.length)throw new Error("Initial value to be memoized expected");return r._memoizedArgs=t,r}return i(t,e),t.prototype.dispatch=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._memoizedArgs=t,e.prototype.dispatch.apply(this,t)},t.prototype.attach=function(t){var n=e.prototype.attach.call(this,t);return t.apply(void 0,this._memoizedArgs),n},t.prototype.getMemoizedArgs=function(){return this._memoizedArgs},t}(c);var f,p=function(){function e(e,t){var n=this;this._messageHandlers={},this._responseHandlers={},this._send=function(e,t){return function(n,r){var o=h.getMessageId();try{t.postMessage({source:e,id:o,method:n,params:r},"*")}catch(e){throw e instanceof DOMException&&"DataCloneError"===e.name&&"openDialog"===n&&console.error("Error: openCurrent[App] parameters could not be parsed. You likely tried to pass functions or DOM elements as a parameter. Tip: Use the App SDK directly within the dialog location.\n\nLearn more about the dialog location: https://ctfl.io/app-sdk-dialog"),e}return o}}(e,t.parent),t.addEventListener("message",function(e){n._handleMessage(e.data)})}return e.prototype.call=function(e){for(var t=this,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var o=this._send(e,n);return new Promise(function(e,n){t._responseHandlers[o]={resolve:e,reject:n}})},e.prototype.send=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];this._send(e,t)},e.prototype.addHandler=function(e,t){return e in this._messageHandlers||(this._messageHandlers[e]=new c),this._messageHandlers[e].attach(t)},e.prototype._handleMessage=function(e){if(e.method){var t=e.method,n=e.params,r=this._messageHandlers[t];r&&r.dispatch.apply(r,n)}else{var o=e.id,i=this._responseHandlers[o];if(!i)return;"result"in e?i.resolve(e.result):"error"in e&&i.reject(e.error),delete this._responseHandlers[o]}},e}(),h=(f=0,{getMessageId:function(){return f++}});var g=function(){function e(e,t){var n=this;this.id=t.id,this.name=t.name,this.locale=t.locale,this.required=t.required,this.validations=t.validations,this._value=t.value,this._valueSignal=new d(this._value),this._isDisabledSignal=new d(t.isDisabled),this._schemaErrorsChangedSignal=new d(t.schemaErrors),this._channel=e,e.addHandler("valueChanged",function(e,t,r){e!==n.id||t&&t!==n.locale||(n._value=r,n._valueSignal.dispatch(r))}),e.addHandler("isDisabledChangedForFieldLocale",function(e,t,r){e===n.id&&t===n.locale&&n._isDisabledSignal.dispatch(r)}),e.addHandler("schemaErrorsChangedForFieldLocale",function(e,t,r){e===n.id&&t===n.locale&&n._schemaErrorsChangedSignal.dispatch(r)})}return e.prototype.getValue=function(){return this._value},e.prototype.setValue=function(e){return s(this,void 0,void 0,function(){return l(this,function(t){switch(t.label){case 0:return this._value=e,[4,this._channel.call("setValue",this.id,this.locale,e)];case 1:return[2,t.sent()]}})})},e.prototype.removeValue=function(){return s(this,void 0,void 0,function(){return l(this,function(e){switch(e.label){case 0:return this._value=void 0,[4,this._channel.call("removeValue",this.id,this.locale)];case 1:return e.sent(),[2]}})})},e.prototype.setInvalid=function(e){return this._channel.call("setInvalid",e,this.locale)},e.prototype.onValueChanged=function(e){return this._valueSignal.attach(e)},e.prototype.getIsDisabled=function(){return this._isDisabledSignal.getMemoizedArgs()[0]},e.prototype.onIsDisabledChanged=function(e){return this._isDisabledSignal.attach(e)},e.prototype.getSchemaErrors=function(){return this._schemaErrorsChangedSignal.getMemoizedArgs()[0]},e.prototype.onSchemaErrorsChanged=function(e){return this._schemaErrorsChangedSignal.attach(e)},e}(),y=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r}return i(t,e),t}(g),v=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r.items=n.items,r}return i(t,e),t}(g),m=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.type=n.type,r.linkType=n.linkType,r}return i(t,e),t}(g);function E(e,t){switch(t.type){case"Link":return new m(e,t);case"Array":return new v(e,t);default:return new y(e,t)}}var A=function(){function e(e,t,n){var r=this;this.id=t.id,this.name=t.name,this.locales=t.locales,this.required=t.required,this.validations=t.validations,this._defaultLocale=n,this._fieldLocales=t.locales.reduce(function(n,o){var i,s=E(e,r.toFieldInfo(t,o));return a(a({},n),((i={})[o]=s,i))},{}),this.assertHasLocale(n)}return e.prototype.getValue=function(e){return this._getFieldLocale(e).getValue()},e.prototype.setValue=function(e,t){return s(this,void 0,void 0,function(){return l(this,function(n){switch(n.label){case 0:return[4,this._getFieldLocale(t).setValue(e)];case 1:return[2,n.sent()]}})})},e.prototype.removeValue=function(e){return s(this,void 0,void 0,function(){return l(this,function(t){switch(t.label){case 0:return[4,this.setValue(void 0,e)];case 1:return t.sent(),[2]}})})},e.prototype.onValueChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onValueChanged(n)},e.prototype.onIsDisabledChanged=function(e,t){var n=t||e;return t||(e=""),this._getFieldLocale(e).onIsDisabledChanged(n)},e.prototype._getFieldLocale=function(e){return e=e||this._defaultLocale,this.assertHasLocale(e),this._fieldLocales[e]},e.prototype.getForLocale=function(e){if(!e)throw new Error("getForLocale must be passed a locale");return this._getFieldLocale(e)},e.prototype.assertHasLocale=function(e){if(!this._fieldLocales[e])throw new Error('Unknown locale "'.concat(e,'" for field "').concat(this.id,'"'))},e.prototype.toFieldInfo=function(e,t){var n={id:e.id,name:e.name,required:e.required,validations:e.validations,locale:t,value:e.values[t],isDisabled:e.isDisabled[t],schemaErrors:e.schemaErrors[t]};switch(e.type){case"Array":return a(a({},n),{type:e.type,items:e.items});case"Link":return a(a({},n),{type:e.type,linkType:e.linkType});default:return a(a({},n),{type:e.type})}},e}(),b=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o}return i(t,e),t}(A),C=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o.items=n.items,o}return i(t,e),t}(A),w=function(e){function t(t,n,r){var o=e.call(this,t,n,r)||this;return o.type=n.type,o.linkType=n.linkType,o}return i(t,e),t}(A);function _(e,t){var n,r=e.document,o=e.MutationObserver,i=e.ResizeObserver,a=!1,s=!1,l=new Set,u=new o(function(e){!function(e){e.forEach(function(e){switch(e.type){case"attributes":if(e.target.nodeType===Node.ELEMENT_NODE){var t=e.target;f(e.type,t)?l.add(t):l.delete(t)}break;case"childList":e.addedNodes.forEach(function(t){if(t.nodeType===Node.ELEMENT_NODE){var n=t;f(e.type,n)&&l.add(n)}}),e.removedNodes.forEach(function(e){var t=e;l.delete(t)})}})}(e),a&&d.updateHeight()}),c=new i(function(){d.updateHeight()});u.observe(r.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0});var d={startAutoResizer:function(e){var t=void 0===e?{}:e,n=t.absoluteElements;if(s=Boolean(n===void 0?false:n),d.updateHeight(),a)return;a=!0,c.observe(r.body)},stopAutoResizer:function(){if(!a)return;a=!1,c.disconnect()},updateHeight:function(e){void 0===e&&(e=null);if(null===e){var o=Math.ceil(r.documentElement.getBoundingClientRect().height);if(s&&l.size){var i=o;l.forEach(function(e){i=Math.max(e.getBoundingClientRect().bottom,i)}),e=i}else e=o}e!==n&&(t.send("setHeight",e),n=e)}};return d;function f(e,t){var n=getComputedStyle(t);return"absolute"===n.position&&("attributes"!==e||"none"!==n.display)}}var T=["getTask","getTasks","createTask","updateTask","deleteTask"];function I(e,t,n,r){var o=t.sys,i=O(o),s=new d(o),l=t.metadata,u=new d(l);e.addHandler("sysChanged",function(e){i=O(o=e),s.dispatch(o)}),e.addHandler("metadataChanged",function(e){l=e,u.dispatch(l)});var c={};return T.forEach(function(t){c[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.call("callEntryMethod",t,n)}}),a(a(a({getSys:function(){return o},publish:function(t){if(i)throw new Error('SDK method "publish" is not supported in release context');return e.call("callEntryMethod","publish",[t])},unpublish:function(){if(i)throw new Error('SDK method "unpublish" is not supported in release context');return e.call("callEntryMethod","unpublish")},save:function(){return e.call("callEntryMethod","save")},onSysChanged:function(e){return s.attach(e)},fields:n.reduce(function(e,t){return e[t.id]=r(t),e},{})},l?{metadata:l}:{}),{getMetadata:function(){return l},onMetadataChanged:function(e){return u.attach(e)}}),c)}function O(e){var t,n;return!!(null===(n=null===(t=null==e?void 0:e.release)||void 0===t?void 0:t.sys)||void 0===n?void 0:n.id)}function x(e,t){if(!t)throw new Error("Asset data is required");var n=t.sys,r=new d(n),o=t.metadata,i=new d(o);return e.addHandler("sysChanged",function(e){n=e,r.dispatch(n)}),e.addHandler("metadataChanged",function(e){o=e,i.dispatch(o)}),{getSys:function(){return n},publish:function(t){return e.call("callAssetMethod","publish",[t])},unpublish:function(){return e.call("callAssetMethod","unpublish")},save:function(){return e.call("callAssetMethod","save")},onSysChanged:function(e){return r.attach(e)},getMetadata:function(){return o},onMetadataChanged:function(e){return i.attach(e)}}}var L=["getContentType","getEntry","getEntrySnapshots","getAsset","getEditorInterface","getPublishedEntries","getPublishedAssets","getContentTypes","getEntries","getEditorInterfaces","getAssets","createContentType","createEntry","createAsset","updateContentType","updateEntry","updateAsset","deleteContentType","deleteEntry","deleteAsset","publishEntry","publishAsset","unpublishEntry","unpublishAsset","archiveEntry","archiveAsset","unarchiveEntry","unarchiveAsset","createUpload","processAsset","waitUntilAssetProcessed","getUsers","getAllScheduledActions","getEntityScheduledActions","signRequest","createTag","readTags","updateTag","deleteTag","getTeams"];function S(e,t){var n={};return L.forEach(function(t){n[t]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return console.warn("You called ".concat(String(t)," on the Space API. Since version 4.0.0 the Space API and its methods are deprecated, and they will be removed from version 5.0.0 on. We recommend that you use the CMA client instead. See https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library for more details.")),e.call("callSpaceMethod",t,n)}}),n.getCachedContentTypes=function(){return u([],t,!0)},n}var D=function(e){return"object"!=typeof(t=e)||null===t||Array.isArray(t)?{}:e;var t};function N(e,t){return{openAlert:n.bind(null,"alert"),openConfirm:n.bind(null,"confirm"),openPrompt:n.bind(null,"prompt"),openExtension:r,openCurrentApp:o,openCurrent:function(e){return t.app?o(e):r(a(a({},e),{id:t.extension}))},selectSingleEntry:i.bind(null,"Entry",!1),selectSingleAsset:i.bind(null,"Asset",!1),selectMultipleEntries:i.bind(null,"Entry",!0),selectMultipleAssets:i.bind(null,"Asset",!0),selectSingleExperience:i.bind(null,"Experience",!1),selectMultipleExperiences:i.bind(null,"Experience",!0),selectSinglePattern:i.bind(null,"Pattern",!1),selectMultiplePatterns:i.bind(null,"Pattern",!0),selectSingleComponentDefinition:i.bind(null,"ComponentDefinition",!1),selectMultipleComponentDefinitions:i.bind(null,"ComponentDefinition",!0),selectSingleResourceEntity:function(e){return s(!1,e)},selectMultipleResourceEntities:function(e){return s(!0,e)}};function n(t,n){return e.call("openDialog",t,D(n))}function r(n){var r=D(n);if((r=a(a({},r),{id:r.id||t.extension})).id)return e.call("openDialog","extension",r);throw new Error("Extension ID not provided.")}function o(n){if(n=D(n),t.app){var r=a(a({},n),{id:t.app});return e.call("openDialog","app",r)}throw new Error("Not in the app context.")}function i(t,n,r){return(r=D(r)).entityType=t,r.multiple=n,e.call("openDialog","entitySelector",r)}function s(t,n){var r=D(n);return r.multiple=t,e.call("openDialog","resourceEntitySelector",r)}}function M(e,t,n){var r=new d(n.localeSettings),o=new d(n.showHiddenFields);return e.addHandler("localeSettingsChanged",function(e){r.dispatch(e)}),e.addHandler("showHiddenFieldsChanged",function(e){o.dispatch(e)}),{editorInterface:t,getLocaleSettings:function(){return r.getMemoizedArgs()[0]},onLocaleSettingsChanged:function(e){return r.attach(e)},onShowDisabledFieldsChanged:function(e){return o.attach(e)},getShowHiddenFields:function(){return o.getMemoizedArgs()[0]},onShowHiddenFieldsChanged:function(e){return o.attach(e)}}}function P(e,t,n){var r,o=new c;e.addHandler("navigateSlideIn",function(e){o.dispatch(e)});var i=n?null===(r=n.sys)||void 0===r?void 0:r.id:void 0;return{openEntry:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Entry",id:t,releaseId:i}))},openNewEntry:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Entry",id:null,contentTypeId:t}))},openBulkEditor:function(t,n){return e.call("navigateToBulkEditor",a({entryId:t},n))},openAsset:function(t,n){return e.call("navigateToContentEntity",a(a({},n),{entityType:"Asset",id:t,releaseId:i}))},openNewAsset:function(t){return e.call("navigateToContentEntity",a(a({},t),{entityType:"Asset",id:null}))},openPageExtension:function(n){return e.call("navigateToPage",a({type:"extension",id:t.extension},n))},openCurrentAppPage:function(n){return e.call("navigateToPage",a({type:"app",id:t.app},n))},openAppConfig:function(){return e.call("navigateToAppConfig")},openEntriesList:function(){return e.call("navigateToSpaceEnvRoute",{route:"entries",releaseId:i})},openAssetsList:function(){return e.call("navigateToSpaceEnvRoute",{route:"assets",releaseId:i})},onSlideInNavigation:function(e){return o.attach(e)}}}var H="preInstall",R="postInstall",k=function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},F=function(e){return"function"==typeof e},V=function(e){return console.error(e),Promise.resolve(!1)},z=function(e,t,n){if(!F(e))return Promise.resolve(t);var r;try{r=void 0===n?e():e(n)}catch(e){return V(e)}var o,i=r;return k(o=i)&&F(o.then)||(i=Promise.resolve(i)),i.then(function(e){return e instanceof Error?Promise.reject(e):!1!==e&&(k(e)?e:t)},V).catch(V)};function j(e){var t,n=((t={})[H]=null,t[R]=null,t),r=function(e,t){if(!F(t))throw new Error("Handler must be a function.");n[e]=t};return e.addHandler("appHook",function(t){var r=t.stage,o=t.installationRequestId,i=t.err;return r===H?z(n[r],{}).then(function(t){return e.send("appHookResult",{stage:r,installationRequestId:o,result:t})}):r===R?z(n[r],void 0,i||null).then(function(){return e.send("appHookResult",{stage:r,installationRequestId:o})}):Promise.resolve()}),{setReady:function(){return e.call("callAppMethod","setReady")},isInstalled:function(){return e.call("callAppMethod","isInstalled")},getParameters:function(){return e.call("callAppMethod","getParameters")},getCurrentState:function(){return e.call("callAppMethod","getCurrentState")},onConfigure:function(e){r(H,e)},onConfigurationCompleted:function(e){r(R,e)}}}function q(e,t){if(!t)throw new Error("Context data is required");var n=new d(t),r=new c,o=new d("normal");return e.addHandler("contextChanged",function(e){n.dispatch(e)}),e.addHandler("toolbarAction",function(e){r.dispatch(e)}),e.addHandler("agentLayoutVariantChanged",function(e){o.dispatch(e)}),{onContextChange:function(e){return n.attach(e)},onToolbarAction:function(e){return r.attach(e)},onAgentLayoutVariantChange:function(e){return o.attach(e)},setAgentLayoutVariant:function(t){if("expanded"!==t&&"normal"!==t)throw new Error('Invalid layout variant "'.concat(t,'". Expected "expanded" or "normal".'));e.send("setAgentLayoutVariant",t)}}}function B(e,t){var n;if(void 0===t)throw new Error("Context data is required");var r=null!==(n=t.context)&&void 0!==n?n:{type:"experience",entityId:""},o=new d(r);e.addHandler("exo.contextChanged",function(e){o.dispatch(e)});var i=function(e,t){var n=new d(null!=t?t:{sys:{id:"",type:"Experience",version:0,template:{sys:{type:"ResourceLink",linkType:"Contentful:Template",urn:""}}}});e.addHandler("exo.experienceChanged",function(e){n.dispatch(e)});var r=function(e){var t=new d({nodeId:null});return e.addHandler("exo.selectionChanged",function(e){t.dispatch(e)}),{get:function(){return t.getMemoizedArgs()[0]},onChange:function(e){return t.attach(e)},set:function(t){e.send("exo.setSelection",{nodeId:t})},highlight:function(t,n){e.send("exo.highlightNode",a({nodeId:t},n))}}}(e),o=function(e){var t={id:"",parameters:{}},n=new d(t);return e.addHandler("exo.dataAssemblyChanged",function(e){n.dispatch(e)}),a(a({get:function(){return n.getMemoizedArgs()[0]},getAvailable:function(){return e.call("exo.getAvailableDataAssemblies")}},Y(e,G)),{onChange:function(e){return n.attach(e)}})}(e),i=new Map;return{get:function(){return n.getMemoizedArgs()[0]},onChange:function(e){return n.attach(e)},getMetadata:function(){return n.getMemoizedArgs()[0].metadata},setMetadata:function(t){return e.call("exo.setExperienceMetadata",t)},onMetadataChanged:function(e){var t,r=!1;return n.attach(function(n){var o=JSON.stringify(n.metadata);r&&o===t||(r=!0,t=o,e(n.metadata))})},save:function(){return e.call("exo.saveExperience")},publish:function(){return e.call("exo.publishExperience")},getNode:function(t){var n=i.get(t);return void 0===n&&(n=function(e,t,n){void 0===n&&(n="Component");var r=new d({id:t,nodeType:n});return e.addHandler("exo.nodeChanged.".concat(t),function(e){r.dispatch(e)}),{id:t,nodeType:n,get:function(){return r.getMemoizedArgs()[0]},onChange:function(e){return r.attach(e)},dataAssembly:Y(e,K,t),getDesignProperty:function(n){return e.call("exo.getNodeDesignProperty",t,n)},setDesignProperty:function(n,r){return e.call("exo.setNodeDesignProperty",t,n,r)},onDesignPropertyChanged:function(n,r){return e.addHandler("exo.nodeDesignPropertyChanged.".concat(t,".").concat(n),r)},getProperties:function(){return e.call("exo.getNodeProperties",t)},getSlotDescriptor:function(){return e.call("exo.getNodeSlotDescriptor",t)}}}(e,t),i.set(t,n)),n},getRootNodes:function(){return[]},selection:r,dataAssembly:o}}(e,t.experience);return{get context(){return o.getMemoizedArgs()[0]},onContextChanged:function(e){return o.attach(e)},experience:i}}function Y(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return{getParameterDefinitions:function(){return e.call.apply(e,u([t.definitions],n,!1))},getParameterDefinition:function(r){return e.call.apply(e,u(u([t.definition],n,!1),[r],!1))},setParameterValue:function(r,o){return e.call.apply(e,u(u([t.setValue],n,!1),[r,o],!1))},setParameterValues:function(r){return e.call.apply(e,u(u([t.setValues],n,!1),[r],!1))}}}var G={definitions:"exo.getDataAssemblyParameterDefinitions",definition:"exo.getDataAssemblyParameterDefinition",setValue:"exo.setDataAssemblyParameterValue",setValues:"exo.setDataAssemblyParameterValues"},K={definitions:"exo.getNodeParameterDefinitions",definition:"exo.getNodeParameterDefinition",setValue:"exo.setNodeParameterValue",setValues:"exo.setNodeParameterValues"};var U,W={LOCATION_ENTRY_FIELD:"entry-field",LOCATION_ENTRY_FIELD_SIDEBAR:"entry-field-sidebar",LOCATION_ENTRY_SIDEBAR:"entry-sidebar",LOCATION_ASSET_SIDEBAR:"asset-sidebar",LOCATION_DIALOG:"dialog",LOCATION_ENTRY_EDITOR:"entry-editor",LOCATION_PAGE:"page",LOCATION_APP_CONFIG:"app-config",LOCATION_HOME:"home",LOCATION_AGENT:"agent",LOCATION_EXPERIENCE_TOOLBAR:"experience-toolbar"},X=function(e){return function(t){return e.call("CMAAdapterCall",t)}};function J(e){return{makeRequest:X(e)}}function Q(e,t){var n;return function(e){var t,n,r=null!==(t=e.createClient)&&void 0!==t?t:null===(n=e.default)||void 0===n?void 0:n.createClient;if("function"!=typeof r)throw new TypeError("Could not resolve `createClient` from 'contentful-management'. This usually means an incompatible or duplicate version was bundled. Ensure a single contentful-management copy resolves in your app.");return r}(r)({apiAdapter:J(t)},{type:"plain",defaults:{environmentId:null!==(n=e.environmentAlias)&&void 0!==n?n:e.environment,spaceId:e.space,organizationId:e.organization,releaseId:e.release}})}var Z=[ee,re,function(e,t){var n=t.field;if(!n)throw new Error('FieldAPI called for location without "field" property defined.');return{field:E(e,n)}},ne,te],$=((U={})[W.LOCATION_ENTRY_FIELD]=Z,U[W.LOCATION_ENTRY_FIELD_SIDEBAR]=Z,U[W.LOCATION_ENTRY_SIDEBAR]=[ee,re,ne,te],U[W.LOCATION_ASSET_SIDEBAR]=[ee,function(e,t){var n=t.asset;return{asset:x(e,n)}},te],U[W.LOCATION_ENTRY_EDITOR]=[ee,re,ne],U[W.LOCATION_DIALOG]=[ee,function(e){return{close:function(t){return e.send("closeDialog",t)}}},te],U[W.LOCATION_PAGE]=[ee],U[W.LOCATION_HOME]=[ee],U[W.LOCATION_APP_CONFIG]=[ee,function(e){return{app:j(e)}}],U[W.LOCATION_AGENT]=[ee,function(e,t){var n=t.agent;return{agent:q(e,n)}},te],U[W.LOCATION_EXPERIENCE_TOOLBAR]=[ee,function(e,t){return{experiences:B(e,t.experiences)}}],U);function ee(e,t){var n=t.user,r=t.parameters,o=t.locales,i=t.ids,a=t.initialContentTypes,s=t.hostnames,l=t.release,u=t.uiLanguageLocale,c=t.location||W.LOCATION_ENTRY_FIELD;return{cma:Q(i,e),cmaAdapter:J(e),location:{is:function(e){return c===e}},user:n,parameters:r,locales:{available:o.available,default:o.default,names:o.names,fallbacks:o.fallbacks,optional:o.optional,direction:o.direction},space:S(e,a),dialogs:N(e,i),navigator:P(e,i,l),notifier:{success:function(t){return e.send("notify",{type:"success",message:t})},error:function(t){return e.send("notify",{type:"error",message:t})},warning:function(t){return e.send("notify",{type:"warning",message:t})}},ids:i,hostnames:s,release:l,uiLanguageLocale:u,access:{can:function(t,n,r){return e.call("checkAccess",t,n,r)},canEditAppConfig:function(){return e.call("checkAppConfigAccess")}}}}function te(e,t,n){return{window:_(n,e)}}function ne(e,t){return{editor:M(e,t.editorInterface,t.editor)}}function re(e,t){var n=t.locales,r=t.contentType,o=t.entry,i=t.fieldInfo;return{contentType:r,entry:I(e,o,i,function(t){return function(e,t,n){switch(t.type){case"Array":return new C(e,t,n);case"Link":return new w(e,t,n);default:return new b(e,t,n)}}(e,t,n.default)})}}var oe=function(e,t){if(void 0===e.window||void 0===e.document)return function(){};var n,r,o=((n={promise:null,resolve:null,isFulfilled:!1}).promise=new Promise(function(e){n.resolve=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];n.isFulfilled=!0,e.apply(void 0,t)}}),n);return o.promise.then(function(t){var n=t[0],r=e.document;r.addEventListener("focus",function(){return n.send("setActive",!0)},!0),r.addEventListener("blur",function(){return n.send("setActive",!1)},!0)}),function(e,t){!function(e,t){function n(r){var o=r.data;"connect"===o.method&&(e.removeEventListener("message",n),t.apply(void 0,o.params))}e.addEventListener("message",n)}(e,function(n,r){var o=new p(n.id,e);t(o,n,r)})}(e,function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o.resolve(e)}),function(n,i){var a=void 0===i?{supressIframeWarning:!1}:i,s=a.makeCustomApi;a.supressIframeWarning||function(e){e.self===e.top&&console.error("Cannot use App SDK outside of Contenful:\n\nIn order for the App SDK to function correctly, your app needs to be run in an iframe in the Contentful Web App, Compose or Launch.\n\nLearn more about local development with the App SDK here:\nhttps://www.contentful.com/developers/docs/extensibility/ui-extensions/faq/#how-can-i-develop-with-the-ui-extension-sdk-locally")}(e),r||(r=o.promise.then(function(n){var r,o=n[0],i=n[1],a=n[2],l=t(o,i,e);return"function"==typeof s&&(r=s(o,i)),a.forEach(function(e){o._handleMessage(e)}),[l,r]}),o.isFulfilled||function(e){var t=h.getMessageId();e.parent.postMessage({id:t,method:"init",params:[]},"*")}(e)),r.then(function(e){var t=e[0],r=e[1];return n(t,r)})}}(globalThis,function(e,t,n){return($[t.location]||Z).reduce(function(r,o){return a(a({},r),o(e,t,n))},{})});e.init=oe,e.locations=W,Object.defineProperty(e,"__esModule",{value:!0})}),globalThis.contentfulApp=globalThis.contentfulExtension;
|
package/dist/experience.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Channel } from './channel';
|
|
2
|
-
import { ExperienceSDK, ExperienceContext,
|
|
2
|
+
import { ExperienceSDK, ExperienceContext, ExperienceSnapshot } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Creates the Experience SDK namespace for the experience-toolbar location.
|
|
5
5
|
*
|
|
@@ -8,6 +8,5 @@ import { ExperienceSDK, ExperienceContext, UiMode, ExperienceSnapshot } from './
|
|
|
8
8
|
*/
|
|
9
9
|
export default function createExperience(channel: Channel, experienceInit?: {
|
|
10
10
|
context?: ExperienceContext;
|
|
11
|
-
uiMode?: UiMode;
|
|
12
11
|
experience?: ExperienceSnapshot;
|
|
13
12
|
}): ExperienceSDK;
|
|
@@ -11,7 +11,7 @@ import { EntryFieldInfo, FieldInfo } from './field.types';
|
|
|
11
11
|
import { Adapter, KeyValueMap } from 'contentful-management';
|
|
12
12
|
import { CMAClient } from './cmaClient.types';
|
|
13
13
|
import { AgentAPI, AgentContext } from './agent.types';
|
|
14
|
-
import { ExperienceSDK, ExperienceContext,
|
|
14
|
+
import { ExperienceSDK, ExperienceContext, ExperienceSnapshot } from './experience.types';
|
|
15
15
|
export interface UserAPI {
|
|
16
16
|
sys: {
|
|
17
17
|
id: string;
|
|
@@ -330,7 +330,6 @@ export interface ConnectMessage {
|
|
|
330
330
|
/** Experiences data; when present, SDK constructs sdk.experiences */
|
|
331
331
|
experiences?: {
|
|
332
332
|
context?: ExperienceContext;
|
|
333
|
-
uiMode?: UiMode;
|
|
334
333
|
experience?: ExperienceSnapshot;
|
|
335
334
|
};
|
|
336
335
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Experience SDK types.
|
|
3
3
|
*/
|
|
4
|
+
import { Link } from './utils';
|
|
4
5
|
export type Unsubscribe = () => void;
|
|
5
|
-
export type UiMode = 'form' | 'visual';
|
|
6
6
|
export type EntryBinding = {
|
|
7
7
|
type: 'entry';
|
|
8
8
|
entryId: string;
|
|
@@ -171,11 +171,21 @@ export interface ExperienceSelectionAPI {
|
|
|
171
171
|
scrollIntoView?: boolean;
|
|
172
172
|
}): void;
|
|
173
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Editable metadata carried by an experience or fragment: taxonomy `tags` and `concepts`,
|
|
176
|
+
* plus the entity `name`. `tags` and `concepts` are classic `Link`s (`sys.type: 'Link'`),
|
|
177
|
+
* distinct from the `ResourceLink`s used elsewhere in this surface.
|
|
178
|
+
*/
|
|
179
|
+
export interface ExperienceMetadata {
|
|
180
|
+
tags?: Link<'Tag', 'Link'>[];
|
|
181
|
+
concepts?: Link<'TaxonomyConcept', 'Link'>[];
|
|
182
|
+
name?: string;
|
|
183
|
+
}
|
|
174
184
|
/**
|
|
175
185
|
* Snapshot of the root entity being edited. Discriminated on `sys.type`:
|
|
176
186
|
* an `Experience` (optionally backed by a template) or a `Fragment` (no template).
|
|
177
|
-
*
|
|
178
|
-
*
|
|
187
|
+
* `Experience.sys.template` is optional, and `Fragment.sys` carries a `componentType`
|
|
188
|
+
* ResourceLink and no template.
|
|
179
189
|
*/
|
|
180
190
|
export type ExperienceSnapshot = {
|
|
181
191
|
sys: {
|
|
@@ -184,6 +194,7 @@ export type ExperienceSnapshot = {
|
|
|
184
194
|
version: number;
|
|
185
195
|
template?: ResourceLink<'Contentful:Template'>;
|
|
186
196
|
};
|
|
197
|
+
metadata?: ExperienceMetadata;
|
|
187
198
|
} | {
|
|
188
199
|
sys: {
|
|
189
200
|
id: string;
|
|
@@ -191,10 +202,22 @@ export type ExperienceSnapshot = {
|
|
|
191
202
|
version: number;
|
|
192
203
|
componentType: ResourceLink<'Contentful:ComponentType'>;
|
|
193
204
|
};
|
|
205
|
+
metadata?: ExperienceMetadata;
|
|
194
206
|
};
|
|
195
207
|
export interface ExperienceAPI {
|
|
196
208
|
get(): ExperienceSnapshot;
|
|
197
209
|
onChange(cb: (v: ExperienceSnapshot) => void): Unsubscribe;
|
|
210
|
+
/** Reads the current experience/fragment metadata, or `undefined` when the entity carries none (matches entry/asset). */
|
|
211
|
+
getMetadata(): ExperienceMetadata | undefined;
|
|
212
|
+
/**
|
|
213
|
+
* Applies a partial update to the experience/fragment metadata, persisted on the next
|
|
214
|
+
* {@link ExperienceAPI.save}. Only the keys present in `patch` are changed; a provided
|
|
215
|
+
* `tags`/`concepts` array replaces that field wholesale (pass `[]` to clear it), and an
|
|
216
|
+
* omitted key is left untouched. Resolves once the host has accepted the patch.
|
|
217
|
+
*/
|
|
218
|
+
setMetadata(patch: Partial<ExperienceMetadata>): Promise<void>;
|
|
219
|
+
/** Subscribes to metadata changes, invoking `cb` whenever the tags, concepts, or name change. */
|
|
220
|
+
onMetadataChanged(cb: (metadata?: ExperienceMetadata) => void): Unsubscribe;
|
|
198
221
|
save(): Promise<void>;
|
|
199
222
|
publish(): Promise<void>;
|
|
200
223
|
getNode(nodeId: string): ExperienceNodeAPI | null;
|
|
@@ -209,7 +232,5 @@ export interface ExperienceContext {
|
|
|
209
232
|
export interface ExperienceSDK {
|
|
210
233
|
context: ExperienceContext;
|
|
211
234
|
onContextChanged(cb: (context: ExperienceContext) => void): Unsubscribe;
|
|
212
|
-
getUiMode(): UiMode;
|
|
213
|
-
onUiModeChanged(cb: (mode: UiMode) => void): Unsubscribe;
|
|
214
235
|
experience: ExperienceAPI;
|
|
215
236
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -12,4 +12,4 @@ export type { SearchQuery, CollectionResponse, CursorBasedCollectionResponse, En
|
|
|
12
12
|
export type { DateRangeValidationError, InValidationError, LinkContentTypeValidationError, LinkMimetypeGroupValidationError, NotResolvableValidationError, ProhibitRegexpValidationError, RangeValidationError, RegexpValidationError, RequiredValidationError, SizeValidationError, TypeValidationError, UniqueValidationError, UnknownValidationError, ValidationError, AllowedResourceValidationError, AllowedResourcesValidationError, } from './validation-error';
|
|
13
13
|
export type { WindowAPI } from './window.types';
|
|
14
14
|
export type { CMAClient } from './cmaClient.types';
|
|
15
|
-
export type { Unsubscribe,
|
|
15
|
+
export type { Unsubscribe, ExperienceContext, ExperienceSDK, ResourceLink, EntryBinding, DesignTokenValue, ManualDesignValue, DesignValue, ComponentPropertyDescriptor, SameSpaceContentSource, AllowedResource, DataAssemblyParameterDefinition, DataAssemblyParameterValue, DataAssemblySnapshot, DataAssemblySummary, DataAssemblyParameterAPI, DataAssemblyAPI, ExperienceNodeType, ExperienceNodeSnapshot, SlotAllowedResource, SlotDescriptor, ExperienceMetadata, ExperienceSnapshot, ExperienceNodeAPI, ExperienceSelectionAPI, ExperienceAPI, } from './experience.types';
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@contentful/app-sdk","description":"A JavaScript library to develop custom apps for Contentful","version":"4.
|
|
1
|
+
{"name":"@contentful/app-sdk","description":"A JavaScript library to develop custom apps for Contentful","version":"4.63.1","author":"Contentful GmbH","license":"MIT","sideEffects":true,"repository":{"url":"https://github.com/contentful/ui-extensions-sdk.git","type":"git"},"homepage":"https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/","main":"dist/cf-extension-api.js","unpkg":"dist/cf-extension-api.bundled.js","jsdelivr":"dist/cf-extension-api.bundled.js","types":"dist/index.d.ts","files":["dist/cf-extension-api.js","dist/cf-extension-api.js.map","dist/cf-extension-api.bundled.js","dist/cf-extension.css","dist/**/*.d.ts"],"scripts":{"test":"ts-mocha -p tsconfig.test.json 'test/unit/*.[jt]s' --reporter mocha-multi-reporters --reporter-options configFile=mocha.unit-reporters.json","lint":"eslint '{lib,test}/**/*.{t,j}s'","lint:fix":"npm run lint -- --fix","build":"npm run check-types && rollup -c --compact","build:debug":"npm run build -- --sourcemap","prepublishOnly":"npm run build","size":"echo \"Gzipped, estimate: $(gzip -9 -c dist/cf-extension-api.js | wc -c) bytes\"","semantic-release":"semantic-release","publish-all":"node ./scripts/publish.js","verify":"node ./scripts/verify.js","check-types":"tsc --noEmit -m commonjs","prepare":"husky","lint-staged":"lint-staged"},"dependencies":{"contentful-management":"^12.3.1"},"devDependencies":{"@rollup/plugin-commonjs":"^29.0.0","@rollup/plugin-node-resolve":"^16.0.0","@semantic-release/changelog":"6.0.3","@semantic-release/exec":"7.1.0","@semantic-release/git":"10.0.1","@testing-library/dom":"10.4.1","@types/chai-as-promised":"7.1.8","@types/cross-spawn":"6.0.6","@types/fs-extra":"11.0.4","@types/jsdom":"28.0.3","@types/mocha":"10.0.10","@types/nanoid":"3.0.0","@types/sinon":"^21.0.0","@types/sinon-chai":"^3.2.5","@typescript-eslint/eslint-plugin":"7.18.0","@typescript-eslint/parser":"7.18.0","babel-eslint":"10.1.0","chai":"4.5.0","chai-as-promised":"7.1.2","cross-spawn":"7.0.6","eslint":"8.57.1","eslint-config-prettier":"10.1.8","eslint-config-standard":"17.1.0","eslint-plugin-import":"2.32.0","eslint-plugin-node":"11.1.0","eslint-plugin-prettier":"5.5.6","eslint-plugin-promise":"6.6.0","eslint-plugin-react":"7.37.5","eslint-plugin-standard":"5.0.0","fs-extra":"11.3.5","husky":"9.1.7","jsdom":"29.1.1","lint-staged":"17.0.8","mocha":"11.7.6","mocha-junit-reporter":"2.2.1","mocha-multi-reporters":"1.5.1","mochawesome":"7.1.4","mochawesome-merge":"5.1.1","mochawesome-report-generator":"6.3.2","prettier":"3.8.4","rollup":"2.80.0","rollup-plugin-terser":"7.0.2","rollup-plugin-typescript2":"0.37.0","semantic-release":"^25.0.2","sinon":"22.0.0","sinon-chai":"3.7.0","ts-mocha":"11.1.0","tslib":"2.8.1","typescript":"5.9.3"},"lint-staged":{"*.ts":["prettier --write","eslint --fix"],"*.md":["prettier --write"]},"release":{"branches":["main",{"name":"canary","channel":"canary","prerelease":"alpha"}],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/changelog",["@semantic-release/npm",{"npmPublish":false}],["@semantic-release/exec",{"verifyConditionsCmd":"node ./scripts/verify.js","publishCmd":"npm run publish-all"}],["@semantic-release/git",{"message":"chore: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}","assets":["CHANGELOG.md","package.json","package-lock.json"]}],"@semantic-release/github"]}}
|