@teambit/ui 0.0.1114 → 0.0.1116

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.
Files changed (39) hide show
  1. package/.bit-capsule-ready +0 -0
  2. package/artifacts/ui-bundle/public/bit/asset-manifest.json +6 -6
  3. package/artifacts/ui-bundle/public/bit/index.html +1 -1
  4. package/artifacts/ui-bundle/public/bit/service-worker.js +1 -1
  5. package/artifacts/ui-bundle/public/bit/static/js/998.a2b6157a.js +781 -0
  6. package/artifacts/ui-bundle/public/bit/static/js/{main.976afafd.js → main.9a8a5e6c.js} +1 -1
  7. package/dist/bundle-ui.task.js.map +1 -1
  8. package/dist/create-root.js.map +1 -1
  9. package/dist/events/index.js.map +1 -1
  10. package/dist/events/ui-server-started-event.js.map +1 -1
  11. package/dist/exceptions/index.js.map +1 -1
  12. package/dist/exceptions/unknown-build-error.js.map +1 -1
  13. package/dist/exceptions/unknown-ui.js.map +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/{preview-1690168610397.js → preview-1690296596827.js} +2 -2
  16. package/dist/ssr-middleware/index.js.map +1 -1
  17. package/dist/ssr-middleware/ssr-middleware.js.map +1 -1
  18. package/dist/start.cmd.js.map +1 -1
  19. package/dist/ui/client-context.js.map +1 -1
  20. package/dist/ui-build.cmd.js.map +1 -1
  21. package/dist/ui-server.js.map +1 -1
  22. package/dist/ui.aspect.js.map +1 -1
  23. package/dist/ui.composition.js.map +1 -1
  24. package/dist/ui.main.runtime.js +3 -5
  25. package/dist/ui.main.runtime.js.map +1 -1
  26. package/dist/ui.ui.runtime.js +1 -3
  27. package/dist/ui.ui.runtime.js.map +1 -1
  28. package/dist/webpack/html.js.map +1 -1
  29. package/dist/webpack/postcss.config.js.map +1 -1
  30. package/dist/webpack/webpack.base.config.js.map +1 -1
  31. package/dist/webpack/webpack.browser.config.js.map +1 -1
  32. package/dist/webpack/webpack.dev.config.js.map +1 -1
  33. package/dist/webpack/webpack.ssr.config.js.map +1 -1
  34. package/package-tar/teambit-ui-0.0.1116.tgz +0 -0
  35. package/package.json +17 -17
  36. package/artifacts/ui-bundle/public/bit/static/js/307.c5ef0d54.js +0 -768
  37. package/package-tar/teambit-ui-0.0.1114.tgz +0 -0
  38. /package/artifacts/ui-bundle/public/bit/static/css/{307.1fbad107.css → 998.1fbad107.css} +0 -0
  39. /package/artifacts/ui-bundle/public/bit/static/js/{307.c5ef0d54.js.LICENSE.txt → 998.a2b6157a.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[179],{65085:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends Error{constructor(){super(),(0,o().default)(this,"isUserError",void 0),this.name=this.constructor.name,this.isUserError=!0}}t.default=u},46587:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"originalError",void 0),this.originalError=e}}t.default=s},89845:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(52007));return o=function(){return e},e}function u(){const e=r(n(49934));return u=function(){return e},e}function s(){const e=n(53665);return s=function(){return e},e}function i(e,t){return"undefined"!==typeof t?t:e.getHeadRegardlessOfLane()}async function c(e){const{repo:t,modelComponent:n,throws:r,versionParentsFromObjects:o,startFrom:u,stopAt:s}=e,c=i(n,u);if(!c)return[];return d(await f({repo:t,modelComponent:n,throws:r,versionParentsFromObjects:o,heads:[c]}),c,s).map((e=>e.hash))}n(71829),n(75062),n(95017),n(33676),Object.defineProperty(t,"__esModule",{value:!0}),t.getAllVersionHashes=c,t.getAllVersionHashesMemoized=void 0,t.getAllVersionParents=f,t.getAllVersionsInfo=async function({modelComponent:e,repo:t,throws:n=!0,versionObjects:r,startFrom:o,stopAt:c}){var a;const f=[],d=async e=>{if(!r&&!t)throw new TypeError("getAllVersionsInfo expect to get either repo or versionObjects");const n=null===r||void 0===r?void 0:r.find((t=>t.hash().isEqual(e)));return n||(t?await e.load(t):void 0)},l=i(e,o);if(!l)return f;const h=null===(a=e.getHead())||void 0===a?void 0:a.toString();let p=l.toString()===h;const v={ref:l,tag:e.getTagOfRefIfExists(l),parents:[],onLane:!p},m=e=>Boolean(null===c||void 0===c?void 0:c.find((t=>t.isEqual(e)))),g=await d(l);if(g){if(m(g.hash()))return[];v.version=g,v.parents=g.parents}else if(v.error=new(s().HeadNotFound)(e.id(),l.toString()),n)throw v.error;f.push(v);const b=async t=>{await(0,u().default)(t.parents,(async r=>{if(m(r))return;if(o=r,Boolean(f.find((e=>e.ref.isEqual(o)))))return;var o;const u=await d(r);p||(p=(null===u||void 0===u?void 0:u._hash)===h);const i={ref:r,tag:e.getTagOfRefIfExists(r),isPartOfHistory:!0,parents:(null===u||void 0===u?void 0:u.parents)||[],onLane:!p};if(u)i.version=u;else if(i.error=i.tag?new(s().VersionNotFound)(i.tag,e.id()):new(s().ParentNotFound)(e.id(),t.hash().toString(),r.toString()),n)throw i.error;f.push(i),u&&await b(u)}))};g&&await b(g);return f},t.getSubsetOfVersionParents=d,t.getVersionParentsFromVersion=function(e){var t,n;return{hash:e.hash(),parents:e.parents,unrelated:null===(t=e.unrelated)||void 0===t?void 0:t.head,squashed:null===(n=e.squashed)||void 0===n?void 0:n.previousParents}},t.hasVersionByRef=async function(e,t,n,r){return(await c({modelComponent:e,repo:n,startFrom:r})).some((e=>e.isEqual(t)))};const a=(0,o().default)(c,{normalizer:e=>JSON.stringify(e[0]),promise:!0,maxAge:1});async function f({repo:e,modelComponent:t,heads:n,throws:r,versionParentsFromObjects:o,missingRefsFromVersionHistory:s}){const i=await t.GetVersionHistory(e),c=[],a=e=>{const t=c.find((t=>t.hash.isEqual(e.hash)));t?Object.keys(t).forEach((n=>t[n]=e[n])):c.push(e)};if(await(0,u().default)([...n,...s||[]],(async n=>{const{err:o,added:u}=await t.populateVersionHistoryIfMissingGracefully(e,i,n);if(o){if(r){const e=new Error(o.message);throw o.stack=`${o.stack}\nCurrent stack ${e.stack}`,o}u&&u.forEach((e=>a(e)))}else i.versions.forEach((e=>a(e)))})),o){o.forEach((e=>a(e)));const u=o.map((e=>e.parents)).flat().filter((e=>!c.some((t=>t.hash.isEqual(e)))));if(u.length){if(s)throw new Error(`unable to get the full history of "${t.id()}".\nthe client sent the following snaps: ${o.map((e=>e.hash.toString())).join(", ")}.\nhowever some of the parents of these snaps are missing from the local scope.\nmissing snaps: ${u.map((e=>e.toString())).join(", ")}\n`);return f({repo:e,modelComponent:t,heads:n,throws:r,versionParentsFromObjects:o,missingRefsFromVersionHistory:u})}}return c}function d(e,t,n){const r=[],o=e=>Boolean(null===n||void 0===n?void 0:n.find((t=>t.isEqual(e)))),u=t=>e.find((e=>e.hash.isEqual(t))),s=e=>{r.push(e),e.parents.forEach((e=>{if(o(e))return;if(t=e,Boolean(r.find((e=>e.hash.isEqual(t)))))return;var t;const n=u(e);n&&s(n)}))},i=u(t);return!i||o(i.hash)?[]:(s(i),r)}t.getAllVersionHashesMemoized=a},88380:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},5092:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=n(91576);return u=function(){return e},e}function s(){const e=r(n(39226));return s=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class i extends u().BitError{constructor(e,t){super(t?`error: the component dependency "${s().default.bold(e)}" required by "${s().default.bold(t)}" was not found`:`error: component "${s().default.bold(e)}" was not found`),(0,o().default)(this,"id",void 0),(0,o().default)(this,"dependentId",void 0),(0,o().default)(this,"code",void 0),this.code=127,this.id=e,this.dependentId=t}}t.default=i},91271:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"version",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.version=t,this.showDoctorMessage=!0}}t.default=s},9464:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"msg",void 0),this.msg=e}}t.default=s},22582:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t,n,r){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"version",void 0),(0,o().default)(this,"originalHash",void 0),(0,o().default)(this,"currentHash",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.version=t,this.originalHash=n,this.currentHash=r,this.showDoctorMessage=!0}}t.default=s},29900:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"hash",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.hash=e,this.showDoctorMessage=!0}}t.default=s},56815:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t){super(`head snap ${u().default.bold(t)} was not found for a component ${u().default.bold(e)}`)}}t.default=s},53665:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(88380));return o=function(){return e},e}function u(){const e=r(n(5092));return u=function(){return e},e}function s(){const e=r(n(91271));return s=function(){return e},e}function i(){const e=r(n(9464));return i=function(){return e},e}function c(){const e=r(n(22582));return c=function(){return e},e}function a(){const e=r(n(29900));return a=function(){return e},e}function f(){const e=r(n(56815));return f=function(){return e},e}function d(){const e=r(n(43621));return d=function(){return e},e}function l(){const e=r(n(89118));return l=function(){return e},e}function h(){const e=r(n(73384));return h=function(){return e},e}function p(){const e=r(n(15532));return p=function(){return e},e}function v(){const e=r(n(14821));return v=function(){return e},e}function m(){const e=r(n(81854));return m=function(){return e},e}function g(){const e=r(n(91962));return g=function(){return e},e}function b(){const e=r(n(73032));return b=function(){return e},e}function y(){const e=r(n(20946));return y=function(){return e},e}function w(){const e=r(n(96966));return w=function(){return e},e}function O(){const e=r(n(49935));return O=function(){return e},e}function j(){const e=r(n(48145));return j=function(){return e},e}function P(){const e=n(59768);return P=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BitNotInScope",{enumerable:!0,get:function(){return o().default}}),Object.defineProperty(t,"ComponentNotFound",{enumerable:!0,get:function(){return u().default}}),Object.defineProperty(t,"CorruptedComponent",{enumerable:!0,get:function(){return s().default}}),Object.defineProperty(t,"CyclicDependencies",{enumerable:!0,get:function(){return i().default}}),Object.defineProperty(t,"HashMismatch",{enumerable:!0,get:function(){return c().default}}),Object.defineProperty(t,"HashNotFound",{enumerable:!0,get:function(){return a().default}}),Object.defineProperty(t,"HeadNotFound",{enumerable:!0,get:function(){return f().default}}),Object.defineProperty(t,"InvalidIndexJson",{enumerable:!0,get:function(){return d().default}}),Object.defineProperty(t,"MergeConflict",{enumerable:!0,get:function(){return l().default}}),Object.defineProperty(t,"MergeConflictOnRemote",{enumerable:!0,get:function(){return h().default}}),Object.defineProperty(t,"OutdatedIndexJson",{enumerable:!0,get:function(){return p().default}}),Object.defineProperty(t,"ParentNotFound",{enumerable:!0,get:function(){return v().default}}),Object.defineProperty(t,"ResolutionException",{enumerable:!0,get:function(){return m().default}}),Object.defineProperty(t,"ScopeAlreadyExists",{enumerable:!0,get:function(){return g().default}}),Object.defineProperty(t,"ScopeJsonNotFound",{enumerable:!0,get:function(){return b().default}}),Object.defineProperty(t,"ScopeNotFound",{enumerable:!0,get:function(){return y().default}}),Object.defineProperty(t,"SourceNotFound",{enumerable:!0,get:function(){return w().default}}),Object.defineProperty(t,"VersionAlreadyExists",{enumerable:!0,get:function(){return O().default}}),Object.defineProperty(t,"VersionNotFound",{enumerable:!0,get:function(){return j().default}}),Object.defineProperty(t,"VersionNotFoundOnFS",{enumerable:!0,get:function(){return P().VersionNotFoundOnFS}})},43621:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"path",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.path=e,this.message=t,this.showDoctorMessage=!0}}t.default=s},73384:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}function s(){const e=n(91576);return s=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class i extends s().BitError{constructor(e,t){let n="";e.length&&(n+=`error: versions conflict occurred when exporting the component(s) ${e.map((e=>`${u().default.bold(e.id)} (version(s): ${e.versions.join(", ")})`)).join(", ")} to the remote scope.\nto resolve this conflict and merge your remote and local changes, please do the following:\n1) bit reset [component-pattern] [--all]\n2) bit checkout head [component-pattern]\nonce your changes are merged with the new remote version, please tag and export a new version of the component to the remote scope.`),t.length&&(n+=`error: merge error occurred when exporting the component(s) ${t.map((e=>`${u().default.bold(e.id)}${e.lane?` (lane: ${e.lane})`:""}`)).join(", ")} to the remote scope.\nto resolve this error, please re-import the above components.\nif the component is up to date, run "bit status" to make sure it's not merge-pending`),super(n),(0,o().default)(this,"code",void 0),this.code=131}}t.default=i},89118:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=n(91576);return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().BitError{constructor(e,t){super(`error: versions conflict occurred while importing the component ${e}. conflict version(s): ${t.join(", ")}\nto resolve it and merge your local and remote changes, please do the following:\n1) bit reset ${e}\n2) bit import\n3) bit checkout head ${e}\nonce your changes are merged with the new remote version, you can tag and export a new version of the component to the remote scope.`),(0,o().default)(this,"id",void 0),(0,o().default)(this,"versions",void 0),this.id=e,this.versions=t}}t.default=s},15532:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends Error{constructor(e,t){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"indexJsonPath",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.indexJsonPath=t,this.showDoctorMessage=!0}}t.default=u},14821:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t,n){super(`component ${u().default.bold(e)} missing data. parent ${n} of version ${t} was not found.`),this.id=e,this.versionHash=t,this.parentHash=n}}t.default=s},81854:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(46587));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(e),(0,o().default)(this,"filePath",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.filePath=t,this.showDoctorMessage=!0}}t.default=s},91962:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},73032:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"path",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.path=e,this.showDoctorMessage=!0}}t.default=s},20946:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"scopePath",void 0),this.scopePath=e}}t.default=s},96966:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},49935:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"version",void 0),(0,o().default)(this,"componentId",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.version=e,this.componentId=t,this.showDoctorMessage=!0}}t.default=s},59768:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.VersionNotFoundOnFS=void 0;class s extends o().BitError{constructor(e,t){super(`error: version "${u().default.bold(e)}" of component ${u().default.bold(t)} was not found on the filesystem.\ntry running "bit import". if it doesn't help, try running "bit import ${t} --objects --all-history"`)}}t.VersionNotFoundOnFS=s},48145:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t){super(`error: version "${u().default.bold(e)}" of component ${u().default.bold(t)} was not found.`)}}t.default=s},42471:(e,t,n)=>{"use strict";var r=n(18308);function o(){const e=n(53426);return o=function(){return e},e}n(23728),n(21720),Object.defineProperty(t,"__esModule",{value:!0}),t.auto=function(e){return i(e,u)},t.cr=function(e){return i(e,"\r")},t.crlf=function(e){return i(e,"\r\n")},t.lf=function(e){return i(e,"\n")};const u="undefined"!==typeof r&&"win32"===r.platform?"\r\n":"\n",s=/\r\n|\r|\n/g;function i(e,t){if(Buffer.isBuffer(e)){if((0,o().isBinaryFileSync)(e))return e;const n=e.toString(),r=n.replace(s,t);return n!==r?Buffer.from(r):e}return e.toString().replace(s,t)}},61172:(e,t,n)=>{"use strict";function r(){const e=n(35632);return r=function(){return e},e}function o(){const e=n(58409);return o=function(){return e},e}function u(e){return["major","premajor","minor","preminor","patch","prepatch","prerelease"].includes(e)}function s(e){return["patch","minor","major","prerelease"].includes(e)}function i(e){if(!s(e))throw new Error(`the release-type "${e}" is not supported`)}function c(e){if(e){const t=(0,r().valid)(e);if(!t)throw new(o().InvalidVersion)(e);return t}}Object.defineProperty(t,"__esModule",{value:!0}),t.getLatestVersion=function(e){const t=(0,r().maxSatisfying)(e,"*",{includePrerelease:!0});if(!t)throw new Error(`unable to find the latest version from ${e.join(", ")}`);return t},t.getValidVersionOrReleaseType=function(e){if(u(e)){const t=e;return i(t),{releaseType:t}}return{exactVersion:c(e)}},t.isReleaseTypeSupported=s,t.isStrReleaseType=u,t.throwForUnsupportedReleaseType=i,t.validateVersion=c},591:()=>{},52009:()=>{},13731:()=>{},74112:()=>{}},e=>{e.O(0,[307],(()=>{return t=46955,e(e.s=t);var t}));e.O()}]);
1
+ (self.webpackChunk_teambit_legacy=self.webpackChunk_teambit_legacy||[]).push([[179],{65085:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends Error{constructor(){super(),(0,o().default)(this,"isUserError",void 0),this.name=this.constructor.name,this.isUserError=!0}}t.default=u},46587:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"originalError",void 0),this.originalError=e}}t.default=s},89845:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(52007));return o=function(){return e},e}function u(){const e=r(n(49934));return u=function(){return e},e}function s(){const e=n(53665);return s=function(){return e},e}function i(e,t){return"undefined"!==typeof t?t:e.getHeadRegardlessOfLane()}async function c(e){const{repo:t,modelComponent:n,throws:r,versionParentsFromObjects:o,startFrom:u,stopAt:s}=e,c=i(n,u);if(!c)return[];return d(await f({repo:t,modelComponent:n,throws:r,versionParentsFromObjects:o,heads:[c]}),c,s).map((e=>e.hash))}n(71829),n(75062),n(95017),n(33676),Object.defineProperty(t,"__esModule",{value:!0}),t.getAllVersionHashes=c,t.getAllVersionHashesMemoized=void 0,t.getAllVersionParents=f,t.getAllVersionsInfo=async function({modelComponent:e,repo:t,throws:n=!0,versionObjects:r,startFrom:o,stopAt:c}){var a;const f=[],d=async e=>{if(!r&&!t)throw new TypeError("getAllVersionsInfo expect to get either repo or versionObjects");const n=null===r||void 0===r?void 0:r.find((t=>t.hash().isEqual(e)));return n||(t?await e.load(t):void 0)},l=i(e,o);if(!l)return f;const h=null===(a=e.getHead())||void 0===a?void 0:a.toString();let p=l.toString()===h;const v={ref:l,tag:e.getTagOfRefIfExists(l),parents:[],onLane:!p},m=e=>Boolean(null===c||void 0===c?void 0:c.find((t=>t.isEqual(e)))),g=await d(l);if(g){if(m(g.hash()))return[];v.version=g,v.parents=g.parents}else if(v.error=new(s().HeadNotFound)(e.id(),l.toString()),n)throw v.error;f.push(v);const b=async t=>{await(0,u().default)(t.parents,(async r=>{if(m(r))return;if(o=r,Boolean(f.find((e=>e.ref.isEqual(o)))))return;var o;const u=await d(r);p||(p=(null===u||void 0===u?void 0:u._hash)===h);const i={ref:r,tag:e.getTagOfRefIfExists(r),isPartOfHistory:!0,parents:(null===u||void 0===u?void 0:u.parents)||[],onLane:!p};if(u)i.version=u;else if(i.error=i.tag?new(s().VersionNotFound)(i.tag,e.id()):new(s().ParentNotFound)(e.id(),t.hash().toString(),r.toString()),n)throw i.error;f.push(i),u&&await b(u)}))};g&&await b(g);return f},t.getSubsetOfVersionParents=d,t.getVersionParentsFromVersion=function(e){var t,n;return{hash:e.hash(),parents:e.parents,unrelated:null===(t=e.unrelated)||void 0===t?void 0:t.head,squashed:null===(n=e.squashed)||void 0===n?void 0:n.previousParents}},t.hasVersionByRef=async function(e,t,n,r){return(await c({modelComponent:e,repo:n,startFrom:r})).some((e=>e.isEqual(t)))};const a=(0,o().default)(c,{normalizer:e=>JSON.stringify(e[0]),promise:!0,maxAge:1});async function f({repo:e,modelComponent:t,heads:n,throws:r,versionParentsFromObjects:o,missingRefsFromVersionHistory:s}){const i=await t.GetVersionHistory(e),c=[],a=e=>{const t=c.find((t=>t.hash.isEqual(e.hash)));t?Object.keys(t).forEach((n=>t[n]=e[n])):c.push(e)};if(await(0,u().default)([...n,...s||[]],(async n=>{const{err:o,added:u}=await t.populateVersionHistoryIfMissingGracefully(e,i,n);if(o){if(r){const e=new Error(o.message);throw o.stack=`${o.stack}\nCurrent stack ${e.stack}`,o}u&&u.forEach((e=>a(e)))}else i.versions.forEach((e=>a(e)))})),o){o.forEach((e=>a(e)));const u=o.map((e=>e.parents)).flat().filter((e=>!c.some((t=>t.hash.isEqual(e)))));if(u.length){if(s)throw new Error(`unable to get the full history of "${t.id()}".\nthe client sent the following snaps: ${o.map((e=>e.hash.toString())).join(", ")}.\nhowever some of the parents of these snaps are missing from the local scope.\nmissing snaps: ${u.map((e=>e.toString())).join(", ")}\n`);return f({repo:e,modelComponent:t,heads:n,throws:r,versionParentsFromObjects:o,missingRefsFromVersionHistory:u})}}return c}function d(e,t,n){const r=[],o=e=>Boolean(null===n||void 0===n?void 0:n.find((t=>t.isEqual(e)))),u=t=>e.find((e=>e.hash.isEqual(t))),s=e=>{r.push(e),e.parents.forEach((e=>{if(o(e))return;if(t=e,Boolean(r.find((e=>e.hash.isEqual(t)))))return;var t;const n=u(e);n&&s(n)}))},i=u(t);return!i||o(i.hash)?[]:(s(i),r)}t.getAllVersionHashesMemoized=a},88380:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},5092:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=n(91576);return u=function(){return e},e}function s(){const e=r(n(39226));return s=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class i extends u().BitError{constructor(e,t){super(t?`error: the component dependency "${s().default.bold(e)}" required by "${s().default.bold(t)}" was not found`:`error: component "${s().default.bold(e)}" was not found`),(0,o().default)(this,"id",void 0),(0,o().default)(this,"dependentId",void 0),(0,o().default)(this,"code",void 0),this.code=127,this.id=e,this.dependentId=t}}t.default=i},91271:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"version",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.version=t,this.showDoctorMessage=!0}}t.default=s},9464:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"msg",void 0),this.msg=e}}t.default=s},22582:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t,n,r){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"version",void 0),(0,o().default)(this,"originalHash",void 0),(0,o().default)(this,"currentHash",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.version=t,this.originalHash=n,this.currentHash=r,this.showDoctorMessage=!0}}t.default=s},29900:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"hash",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.hash=e,this.showDoctorMessage=!0}}t.default=s},56815:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t){super(`head snap ${u().default.bold(t)} was not found for a component ${u().default.bold(e)}`)}}t.default=s},53665:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(88380));return o=function(){return e},e}function u(){const e=r(n(5092));return u=function(){return e},e}function s(){const e=r(n(91271));return s=function(){return e},e}function i(){const e=r(n(9464));return i=function(){return e},e}function c(){const e=r(n(22582));return c=function(){return e},e}function a(){const e=r(n(29900));return a=function(){return e},e}function f(){const e=r(n(56815));return f=function(){return e},e}function d(){const e=r(n(43621));return d=function(){return e},e}function l(){const e=r(n(89118));return l=function(){return e},e}function h(){const e=r(n(73384));return h=function(){return e},e}function p(){const e=r(n(15532));return p=function(){return e},e}function v(){const e=r(n(14821));return v=function(){return e},e}function m(){const e=r(n(81854));return m=function(){return e},e}function g(){const e=r(n(91962));return g=function(){return e},e}function b(){const e=r(n(73032));return b=function(){return e},e}function y(){const e=r(n(20946));return y=function(){return e},e}function w(){const e=r(n(96966));return w=function(){return e},e}function O(){const e=r(n(49935));return O=function(){return e},e}function j(){const e=r(n(48145));return j=function(){return e},e}function P(){const e=n(59768);return P=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BitNotInScope",{enumerable:!0,get:function(){return o().default}}),Object.defineProperty(t,"ComponentNotFound",{enumerable:!0,get:function(){return u().default}}),Object.defineProperty(t,"CorruptedComponent",{enumerable:!0,get:function(){return s().default}}),Object.defineProperty(t,"CyclicDependencies",{enumerable:!0,get:function(){return i().default}}),Object.defineProperty(t,"HashMismatch",{enumerable:!0,get:function(){return c().default}}),Object.defineProperty(t,"HashNotFound",{enumerable:!0,get:function(){return a().default}}),Object.defineProperty(t,"HeadNotFound",{enumerable:!0,get:function(){return f().default}}),Object.defineProperty(t,"InvalidIndexJson",{enumerable:!0,get:function(){return d().default}}),Object.defineProperty(t,"MergeConflict",{enumerable:!0,get:function(){return l().default}}),Object.defineProperty(t,"MergeConflictOnRemote",{enumerable:!0,get:function(){return h().default}}),Object.defineProperty(t,"OutdatedIndexJson",{enumerable:!0,get:function(){return p().default}}),Object.defineProperty(t,"ParentNotFound",{enumerable:!0,get:function(){return v().default}}),Object.defineProperty(t,"ResolutionException",{enumerable:!0,get:function(){return m().default}}),Object.defineProperty(t,"ScopeAlreadyExists",{enumerable:!0,get:function(){return g().default}}),Object.defineProperty(t,"ScopeJsonNotFound",{enumerable:!0,get:function(){return b().default}}),Object.defineProperty(t,"ScopeNotFound",{enumerable:!0,get:function(){return y().default}}),Object.defineProperty(t,"SourceNotFound",{enumerable:!0,get:function(){return w().default}}),Object.defineProperty(t,"VersionAlreadyExists",{enumerable:!0,get:function(){return O().default}}),Object.defineProperty(t,"VersionNotFound",{enumerable:!0,get:function(){return j().default}}),Object.defineProperty(t,"VersionNotFoundOnFS",{enumerable:!0,get:function(){return P().VersionNotFoundOnFS}})},43621:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"path",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.path=e,this.message=t,this.showDoctorMessage=!0}}t.default=s},73384:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}function s(){const e=n(91576);return s=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class i extends s().BitError{constructor(e,t){let n="";e.length&&(n+=`error: versions conflict occurred when exporting the component(s) ${e.map((e=>`${u().default.bold(e.id)} (version(s): ${e.versions.join(", ")})`)).join(", ")} to the remote scope.\nto resolve this conflict and merge your remote and local changes, please do the following:\n1) bit reset [component-pattern] [--all]\n2) bit checkout head [component-pattern]\nonce your changes are merged with the new remote version, please tag and export a new version of the component to the remote scope.`),t.length&&(n+=`error: merge error occurred when exporting the component(s) ${t.map((e=>`${u().default.bold(e.id)}${e.lane?` (lane: ${e.lane})`:""}`)).join(", ")} to the remote scope.\nto resolve this error, please re-import the above components.\nif the component is up to date, run "bit status" to make sure it's not merge-pending`),super(n),(0,o().default)(this,"code",void 0),this.code=131}}t.default=i},89118:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=n(91576);return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().BitError{constructor(e,t){super(`error: versions conflict occurred while importing the component ${e}. conflict version(s): ${t.join(", ")}\nto resolve it and merge your local and remote changes, please do the following:\n1) bit reset ${e}\n2) bit import\n3) bit checkout head ${e}\nonce your changes are merged with the new remote version, you can tag and export a new version of the component to the remote scope.`),(0,o().default)(this,"id",void 0),(0,o().default)(this,"versions",void 0),this.id=e,this.versions=t}}t.default=s},15532:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends Error{constructor(e,t){super(),(0,o().default)(this,"id",void 0),(0,o().default)(this,"indexJsonPath",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.id=e,this.indexJsonPath=t,this.showDoctorMessage=!0}}t.default=u},14821:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t,n){super(`component ${u().default.bold(e)} missing data. parent ${n} of version ${t} was not found.`),this.id=e,this.versionHash=t,this.parentHash=n}}t.default=s},81854:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(46587));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(e),(0,o().default)(this,"filePath",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.filePath=t,this.showDoctorMessage=!0}}t.default=s},91962:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},73032:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"path",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.path=e,this.showDoctorMessage=!0}}t.default=s},20946:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e){super(),(0,o().default)(this,"scopePath",void 0),this.scopePath=e}}t.default=s},96966:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(65085));return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class u extends o().default{}t.default=u},49935:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=r(n(9589));return o=function(){return e},e}function u(){const e=r(n(65085));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends u().default{constructor(e,t){super(),(0,o().default)(this,"version",void 0),(0,o().default)(this,"componentId",void 0),(0,o().default)(this,"showDoctorMessage",void 0),this.version=e,this.componentId=t,this.showDoctorMessage=!0}}t.default=s},59768:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.VersionNotFoundOnFS=void 0;class s extends o().BitError{constructor(e,t){super(`error: version "${u().default.bold(e)}" of component ${u().default.bold(t)} was not found on the filesystem.\ntry running "bit import". if it doesn't help, try running "bit import ${t} --objects --all-history"`)}}t.VersionNotFoundOnFS=s},48145:(e,t,n)=>{"use strict";var r=n(95634);function o(){const e=n(91576);return o=function(){return e},e}function u(){const e=r(n(39226));return u=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class s extends o().BitError{constructor(e,t){super(`error: version "${u().default.bold(e)}" of component ${u().default.bold(t)} was not found.`)}}t.default=s},42471:(e,t,n)=>{"use strict";var r=n(18308);function o(){const e=n(53426);return o=function(){return e},e}n(23728),n(21720),Object.defineProperty(t,"__esModule",{value:!0}),t.auto=function(e){return i(e,u)},t.cr=function(e){return i(e,"\r")},t.crlf=function(e){return i(e,"\r\n")},t.lf=function(e){return i(e,"\n")};const u="undefined"!==typeof r&&"win32"===r.platform?"\r\n":"\n",s=/\r\n|\r|\n/g;function i(e,t){if(Buffer.isBuffer(e)){if((0,o().isBinaryFileSync)(e))return e;const n=e.toString(),r=n.replace(s,t);return n!==r?Buffer.from(r):e}return e.toString().replace(s,t)}},61172:(e,t,n)=>{"use strict";function r(){const e=n(35632);return r=function(){return e},e}function o(){const e=n(58409);return o=function(){return e},e}function u(e){return["major","premajor","minor","preminor","patch","prepatch","prerelease"].includes(e)}function s(e){return["patch","minor","major","prerelease"].includes(e)}function i(e){if(!s(e))throw new Error(`the release-type "${e}" is not supported`)}function c(e){if(e){const t=(0,r().valid)(e);if(!t)throw new(o().InvalidVersion)(e);return t}}Object.defineProperty(t,"__esModule",{value:!0}),t.getLatestVersion=function(e){const t=(0,r().maxSatisfying)(e,"*",{includePrerelease:!0});if(!t)throw new Error(`unable to find the latest version from ${e.join(", ")}`);return t},t.getValidVersionOrReleaseType=function(e){if(u(e)){const t=e;return i(t),{releaseType:t}}return{exactVersion:c(e)}},t.isReleaseTypeSupported=s,t.isStrReleaseType=u,t.throwForUnsupportedReleaseType=i,t.validateVersion=c},591:()=>{},52009:()=>{},13731:()=>{},74112:()=>{}},e=>{e.O(0,[998],(()=>{return t=89475,e(e.s=t);var t}));e.O()}]);
@@ -1 +1 @@
1
- {"version":3,"names":["BUNDLE_UI_TASK_NAME","BUNDLE_UI_DIR","BUNDLE_UI_HASH_FILENAME","BundleUiTask","constructor","ui","logger","execute","context","capsule","capsuleNetwork","seedersCapsules","find","c","component","id","toStringWithoutVersion","UIAspect","componentsResults","outputPath","join","path","getArtifactDirectory","info","build","undefined","generateHash","error","Error","artifacts","getArtifactDef","maybeUiRoot","getUi","uiRoot","hash","createBundleUiHash","existsSync","mkdirSync","writeFileSync","name","globPatterns","rootDir"],"sources":["bundle-ui.task.ts"],"sourcesContent":["import { join } from 'path';\nimport { existsSync, mkdirSync, writeFileSync } from 'fs';\nimport { BuildContext, BuildTask, BuiltTaskResult, TaskLocation } from '@teambit/builder';\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { UIAspect, UiMain } from '@teambit/ui';\n\nexport const BUNDLE_UI_TASK_NAME = 'BundleUI';\nexport const BUNDLE_UI_DIR = 'ui-bundle';\nexport const BUNDLE_UI_HASH_FILENAME = '.hash';\n\nexport class BundleUiTask implements BuildTask {\n aspectId = 'teambit.ui-foundation/ui';\n name = BUNDLE_UI_TASK_NAME;\n location: TaskLocation = 'end';\n\n constructor(private ui: UiMain, private logger: Logger) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const capsule: Capsule | undefined = context.capsuleNetwork.seedersCapsules.find(\n (c) => c.component.id.toStringWithoutVersion() === UIAspect.id\n );\n if (!capsule) {\n return { componentsResults: [] };\n }\n\n const outputPath = join(capsule.path, BundleUiTask.getArtifactDirectory());\n this.logger.info(`Generating UI bundle at ${outputPath}...`);\n try {\n await this.ui.build(undefined, outputPath);\n await this.generateHash(outputPath);\n } catch (error) {\n this.logger.error('Generating UI bundle failed');\n throw new Error('Generating UI bundle failed');\n }\n const artifacts = BundleUiTask.getArtifactDef();\n return {\n componentsResults: [],\n artifacts,\n };\n }\n\n private async generateHash(outputPath: string): Promise<void> {\n const maybeUiRoot = this.ui.getUi();\n if (!maybeUiRoot) throw new Error('no uiRoot found');\n\n const [, uiRoot] = maybeUiRoot;\n const hash = await this.ui.createBundleUiHash(uiRoot);\n\n if (!existsSync(outputPath)) mkdirSync(outputPath);\n writeFileSync(join(outputPath, BUNDLE_UI_HASH_FILENAME), hash);\n }\n\n static getArtifactDirectory() {\n return join('artifacts', BUNDLE_UI_DIR);\n }\n\n static getArtifactDef() {\n return [\n {\n name: BUNDLE_UI_DIR,\n globPatterns: ['**'],\n rootDir: BundleUiTask.getArtifactDirectory(),\n },\n ];\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,mBAAmB,GAAG,UAAU;AAAC;AACvC,MAAMC,aAAa,GAAG,WAAW;AAAC;AAClC,MAAMC,uBAAuB,GAAG,OAAO;AAAC;AAExC,MAAMC,YAAY,CAAsB;EAK7CC,WAAW,CAASC,EAAU,EAAUC,MAAc,EAAE;IAAA,KAApCD,EAAU,GAAVA,EAAU;IAAA,KAAUC,MAAc,GAAdA,MAAc;IAAA,kDAJ3C,0BAA0B;IAAA,8CAC9BN,mBAAmB;IAAA,kDACD,KAAK;EAE2B;EAEzD,MAAMO,OAAO,CAACC,OAAqB,EAA4B;IAC7D,MAAMC,OAA4B,GAAGD,OAAO,CAACE,cAAc,CAACC,eAAe,CAACC,IAAI,CAC7EC,CAAC,IAAKA,CAAC,CAACC,SAAS,CAACC,EAAE,CAACC,sBAAsB,EAAE,KAAKC,cAAQ,CAACF,EAAE,CAC/D;IACD,IAAI,CAACN,OAAO,EAAE;MACZ,OAAO;QAAES,iBAAiB,EAAE;MAAG,CAAC;IAClC;IAEA,MAAMC,UAAU,GAAG,IAAAC,YAAI,EAACX,OAAO,CAACY,IAAI,EAAElB,YAAY,CAACmB,oBAAoB,EAAE,CAAC;IAC1E,IAAI,CAAChB,MAAM,CAACiB,IAAI,CAAE,2BAA0BJ,UAAW,KAAI,CAAC;IAC5D,IAAI;MACF,MAAM,IAAI,CAACd,EAAE,CAACmB,KAAK,CAACC,SAAS,EAAEN,UAAU,CAAC;MAC1C,MAAM,IAAI,CAACO,YAAY,CAACP,UAAU,CAAC;IACrC,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACd,IAAI,CAACrB,MAAM,CAACqB,KAAK,CAAC,6BAA6B,CAAC;MAChD,MAAM,IAAIC,KAAK,CAAC,6BAA6B,CAAC;IAChD;IACA,MAAMC,SAAS,GAAG1B,YAAY,CAAC2B,cAAc,EAAE;IAC/C,OAAO;MACLZ,iBAAiB,EAAE,EAAE;MACrBW;IACF,CAAC;EACH;EAEA,MAAcH,YAAY,CAACP,UAAkB,EAAiB;IAC5D,MAAMY,WAAW,GAAG,IAAI,CAAC1B,EAAE,CAAC2B,KAAK,EAAE;IACnC,IAAI,CAACD,WAAW,EAAE,MAAM,IAAIH,KAAK,CAAC,iBAAiB,CAAC;IAEpD,MAAM,GAAGK,MAAM,CAAC,GAAGF,WAAW;IAC9B,MAAMG,IAAI,GAAG,MAAM,IAAI,CAAC7B,EAAE,CAAC8B,kBAAkB,CAACF,MAAM,CAAC;IAErD,IAAI,CAAC,IAAAG,gBAAU,EAACjB,UAAU,CAAC,EAAE,IAAAkB,eAAS,EAAClB,UAAU,CAAC;IAClD,IAAAmB,mBAAa,EAAC,IAAAlB,YAAI,EAACD,UAAU,EAAEjB,uBAAuB,CAAC,EAAEgC,IAAI,CAAC;EAChE;EAEA,OAAOZ,oBAAoB,GAAG;IAC5B,OAAO,IAAAF,YAAI,EAAC,WAAW,EAAEnB,aAAa,CAAC;EACzC;EAEA,OAAO6B,cAAc,GAAG;IACtB,OAAO,CACL;MACES,IAAI,EAAEtC,aAAa;MACnBuC,YAAY,EAAE,CAAC,IAAI,CAAC;MACpBC,OAAO,EAAEtC,YAAY,CAACmB,oBAAoB;IAC5C,CAAC,CACF;EACH;AACF;AAAC"}
1
+ {"version":3,"names":["_path","data","require","_fs","_ui","BUNDLE_UI_TASK_NAME","exports","BUNDLE_UI_DIR","BUNDLE_UI_HASH_FILENAME","BundleUiTask","constructor","ui","logger","_defineProperty2","default","execute","context","capsule","capsuleNetwork","seedersCapsules","find","c","component","id","toStringWithoutVersion","UIAspect","componentsResults","outputPath","join","path","getArtifactDirectory","info","build","undefined","generateHash","error","Error","artifacts","getArtifactDef","maybeUiRoot","getUi","uiRoot","hash","createBundleUiHash","existsSync","mkdirSync","writeFileSync","name","globPatterns","rootDir"],"sources":["bundle-ui.task.ts"],"sourcesContent":["import { join } from 'path';\nimport { existsSync, mkdirSync, writeFileSync } from 'fs';\nimport { BuildContext, BuildTask, BuiltTaskResult, TaskLocation } from '@teambit/builder';\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { UIAspect, UiMain } from '@teambit/ui';\n\nexport const BUNDLE_UI_TASK_NAME = 'BundleUI';\nexport const BUNDLE_UI_DIR = 'ui-bundle';\nexport const BUNDLE_UI_HASH_FILENAME = '.hash';\n\nexport class BundleUiTask implements BuildTask {\n aspectId = 'teambit.ui-foundation/ui';\n name = BUNDLE_UI_TASK_NAME;\n location: TaskLocation = 'end';\n\n constructor(private ui: UiMain, private logger: Logger) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n const capsule: Capsule | undefined = context.capsuleNetwork.seedersCapsules.find(\n (c) => c.component.id.toStringWithoutVersion() === UIAspect.id\n );\n if (!capsule) {\n return { componentsResults: [] };\n }\n\n const outputPath = join(capsule.path, BundleUiTask.getArtifactDirectory());\n this.logger.info(`Generating UI bundle at ${outputPath}...`);\n try {\n await this.ui.build(undefined, outputPath);\n await this.generateHash(outputPath);\n } catch (error) {\n this.logger.error('Generating UI bundle failed');\n throw new Error('Generating UI bundle failed');\n }\n const artifacts = BundleUiTask.getArtifactDef();\n return {\n componentsResults: [],\n artifacts,\n };\n }\n\n private async generateHash(outputPath: string): Promise<void> {\n const maybeUiRoot = this.ui.getUi();\n if (!maybeUiRoot) throw new Error('no uiRoot found');\n\n const [, uiRoot] = maybeUiRoot;\n const hash = await this.ui.createBundleUiHash(uiRoot);\n\n if (!existsSync(outputPath)) mkdirSync(outputPath);\n writeFileSync(join(outputPath, BUNDLE_UI_HASH_FILENAME), hash);\n }\n\n static getArtifactDirectory() {\n return join('artifacts', BUNDLE_UI_DIR);\n }\n\n static getArtifactDef() {\n return [\n {\n name: BUNDLE_UI_DIR,\n globPatterns: ['**'],\n rootDir: BundleUiTask.getArtifactDirectory(),\n },\n ];\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["createRoot","aspectDefs","rootExtensionName","rootAspect","UIAspect","id","runtime","config","ignoreVersion","rootId","identifiers","getIdentifiers","idSetters","getIdSetters","stringifiedConfig","toWindowsCompatiblePath","JSON","stringify","replace","createImports","join","defs","filter","def","runtimePath","getImportStatements","pathProp","suffix","map","aspectDef","getIdentifier","getId","undefined","ComponentID","fromString","toStringWithoutVersion","toString","val","component","local","getCoreIdentifier","aspectPath","getRegularAspectIdentifier","targetName","camelCase","parse","base","sourceName","getDefaultOrOnlyExport","identifier","filePath","exports","require","default","Object","keys","length","e","path","name","split"],"sources":["create-root.ts"],"sourcesContent":["import { AspectDefinition } from '@teambit/aspect-loader';\nimport { ComponentID } from '@teambit/component-id';\nimport { toWindowsCompatiblePath } from '@teambit/toolbox.path.to-windows-compatible-path';\nimport { camelCase } from 'lodash';\nimport { parse } from 'path';\n\nimport { UIAspect } from './ui.aspect';\n\nexport async function createRoot(\n aspectDefs: AspectDefinition[],\n rootExtensionName?: string,\n rootAspect = UIAspect.id,\n runtime = 'ui',\n config = {},\n ignoreVersion?: boolean\n) {\n const rootId = rootExtensionName ? `'${rootExtensionName}'` : '';\n const identifiers = getIdentifiers(aspectDefs, 'Aspect');\n\n const idSetters = getIdSetters(aspectDefs, 'Aspect', ignoreVersion);\n config['teambit.harmony/bit'] = rootExtensionName;\n // Escaping \"'\" in case for example in the config you have something like:\n // description: \"team's scope\"\n const stringifiedConfig = toWindowsCompatiblePath(JSON.stringify(config)).replace(/'/g, \"\\\\'\");\n\n return `\n${createImports(aspectDefs)}\n\nconst isBrowser = typeof window !== \"undefined\";\nconst windowConfig = isBrowser ? window.harmonyAppConfig: undefined;\nconst config = JSON.parse('${stringifiedConfig}');\nconst mergedConfig = { ...config, ...windowConfig };\n${idSetters.join('\\n')}\nexport default function render(...props){\n return Harmony.load([${identifiers.join(', ')}], '${runtime}', mergedConfig)\n .then((harmony) => {\n return harmony\n .run()\n .then(() => harmony.get('${rootAspect}'))\n .then((rootExtension) => {\n const ssrSetup = !isBrowser && rootExtension.setupSsr;\n const setup = rootExtension.setup;\n const setupFunc = (ssrSetup || setup || function noop(){}).bind(rootExtension);\n\n return (\n Promise.resolve(setupFunc())\n .then(() => rootExtension)\n );\n })\n .then((rootExtension) => {\n if (isBrowser) {\n return rootExtension.render(${rootId}, ...props);\n } else {\n return rootExtension.renderSsr(${rootId}, ...props);\n }\n })\n .catch((err) => {\n throw err;\n });\n });\n}\n\nif (isBrowser || '${runtime}' === 'main') render();\n`;\n}\n\nfunction createImports(aspectDefs: AspectDefinition[]) {\n const defs = aspectDefs.filter((def) => def.runtimePath);\n\n return `import { Harmony } from '@teambit/harmony';\n${getImportStatements(aspectDefs, 'aspectFilePath', 'Aspect')}\n${getImportStatements(defs, 'runtimePath', 'Runtime')}`;\n}\n\nfunction getImportStatements(aspectDefs: AspectDefinition[], pathProp: string, suffix: string): string {\n return aspectDefs\n .map(\n (aspectDef) =>\n `import ${getIdentifier(aspectDef, suffix, pathProp)} from '${toWindowsCompatiblePath(aspectDef[pathProp])}';`\n )\n .join('\\n');\n}\n\nfunction getIdentifiers(aspectDefs: AspectDefinition[], suffix: string): string[] {\n return aspectDefs.map((aspectDef) => `${getIdentifier(aspectDef, suffix)}`);\n}\n\nfunction getIdSetters(defs: AspectDefinition[], suffix: string, ignoreVersion?: boolean) {\n return defs\n .map((def) => {\n if (!def.getId) return undefined;\n const id = ComponentID.fromString(def.getId);\n return `${getIdentifier(def, suffix)}.id = '${ignoreVersion ? id.toStringWithoutVersion() : id.toString()}';`;\n })\n .filter((val) => !!val);\n}\n\nfunction getIdentifier(aspectDef: AspectDefinition, suffix: string, pathProp?: string): string {\n if (!aspectDef.component && !aspectDef.local) {\n return getCoreIdentifier(aspectDef.aspectPath, suffix);\n }\n return getRegularAspectIdentifier(aspectDef, suffix, pathProp);\n}\n\nfunction getRegularAspectIdentifier(aspectDef: AspectDefinition, suffix: string, pathProp?: string): string {\n const targetName = camelCase(`${parse(aspectDef.aspectPath).base.replace(/\\./, '__').replace('@', '__')}${suffix}`);\n const sourceName = pathProp ? getDefaultOrOnlyExport(aspectDef[pathProp]) : undefined;\n const identifier = sourceName ? `{${sourceName} as ${targetName}}` : targetName;\n return identifier;\n}\n\nfunction getDefaultOrOnlyExport(filePath: string): string | undefined {\n try {\n // eslint-disable-next-line import/no-dynamic-require, global-require\n const exports = require(filePath);\n if (exports.default) return undefined;\n if (Object.keys(exports).length === 1) return Object.keys(exports)[0];\n } catch (e) {\n // ignore this error, fallback to just using the default export\n }\n return undefined;\n}\n\nfunction getCoreIdentifier(path: string, suffix: string): string {\n return camelCase(`${parse(path).name.split('.')[0]}${suffix}`);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_componentId","data","require","_toolboxPath","_lodash","_path","_ui","createRoot","aspectDefs","rootExtensionName","rootAspect","UIAspect","id","runtime","config","ignoreVersion","rootId","identifiers","getIdentifiers","idSetters","getIdSetters","stringifiedConfig","toWindowsCompatiblePath","JSON","stringify","replace","createImports","join","defs","filter","def","runtimePath","getImportStatements","pathProp","suffix","map","aspectDef","getIdentifier","getId","undefined","ComponentID","fromString","toStringWithoutVersion","toString","val","component","local","getCoreIdentifier","aspectPath","getRegularAspectIdentifier","targetName","camelCase","parse","base","sourceName","getDefaultOrOnlyExport","identifier","filePath","exports","default","Object","keys","length","e","path","name","split"],"sources":["create-root.ts"],"sourcesContent":["import { AspectDefinition } from '@teambit/aspect-loader';\nimport { ComponentID } from '@teambit/component-id';\nimport { toWindowsCompatiblePath } from '@teambit/toolbox.path.to-windows-compatible-path';\nimport { camelCase } from 'lodash';\nimport { parse } from 'path';\n\nimport { UIAspect } from './ui.aspect';\n\nexport async function createRoot(\n aspectDefs: AspectDefinition[],\n rootExtensionName?: string,\n rootAspect = UIAspect.id,\n runtime = 'ui',\n config = {},\n ignoreVersion?: boolean\n) {\n const rootId = rootExtensionName ? `'${rootExtensionName}'` : '';\n const identifiers = getIdentifiers(aspectDefs, 'Aspect');\n\n const idSetters = getIdSetters(aspectDefs, 'Aspect', ignoreVersion);\n config['teambit.harmony/bit'] = rootExtensionName;\n // Escaping \"'\" in case for example in the config you have something like:\n // description: \"team's scope\"\n const stringifiedConfig = toWindowsCompatiblePath(JSON.stringify(config)).replace(/'/g, \"\\\\'\");\n\n return `\n${createImports(aspectDefs)}\n\nconst isBrowser = typeof window !== \"undefined\";\nconst windowConfig = isBrowser ? window.harmonyAppConfig: undefined;\nconst config = JSON.parse('${stringifiedConfig}');\nconst mergedConfig = { ...config, ...windowConfig };\n${idSetters.join('\\n')}\nexport default function render(...props){\n return Harmony.load([${identifiers.join(', ')}], '${runtime}', mergedConfig)\n .then((harmony) => {\n return harmony\n .run()\n .then(() => harmony.get('${rootAspect}'))\n .then((rootExtension) => {\n const ssrSetup = !isBrowser && rootExtension.setupSsr;\n const setup = rootExtension.setup;\n const setupFunc = (ssrSetup || setup || function noop(){}).bind(rootExtension);\n\n return (\n Promise.resolve(setupFunc())\n .then(() => rootExtension)\n );\n })\n .then((rootExtension) => {\n if (isBrowser) {\n return rootExtension.render(${rootId}, ...props);\n } else {\n return rootExtension.renderSsr(${rootId}, ...props);\n }\n })\n .catch((err) => {\n throw err;\n });\n });\n}\n\nif (isBrowser || '${runtime}' === 'main') render();\n`;\n}\n\nfunction createImports(aspectDefs: AspectDefinition[]) {\n const defs = aspectDefs.filter((def) => def.runtimePath);\n\n return `import { Harmony } from '@teambit/harmony';\n${getImportStatements(aspectDefs, 'aspectFilePath', 'Aspect')}\n${getImportStatements(defs, 'runtimePath', 'Runtime')}`;\n}\n\nfunction getImportStatements(aspectDefs: AspectDefinition[], pathProp: string, suffix: string): string {\n return aspectDefs\n .map(\n (aspectDef) =>\n `import ${getIdentifier(aspectDef, suffix, pathProp)} from '${toWindowsCompatiblePath(aspectDef[pathProp])}';`\n )\n .join('\\n');\n}\n\nfunction getIdentifiers(aspectDefs: AspectDefinition[], suffix: string): string[] {\n return aspectDefs.map((aspectDef) => `${getIdentifier(aspectDef, suffix)}`);\n}\n\nfunction getIdSetters(defs: AspectDefinition[], suffix: string, ignoreVersion?: boolean) {\n return defs\n .map((def) => {\n if (!def.getId) return undefined;\n const id = ComponentID.fromString(def.getId);\n return `${getIdentifier(def, suffix)}.id = '${ignoreVersion ? id.toStringWithoutVersion() : id.toString()}';`;\n })\n .filter((val) => !!val);\n}\n\nfunction getIdentifier(aspectDef: AspectDefinition, suffix: string, pathProp?: string): string {\n if (!aspectDef.component && !aspectDef.local) {\n return getCoreIdentifier(aspectDef.aspectPath, suffix);\n }\n return getRegularAspectIdentifier(aspectDef, suffix, pathProp);\n}\n\nfunction getRegularAspectIdentifier(aspectDef: AspectDefinition, suffix: string, pathProp?: string): string {\n const targetName = camelCase(`${parse(aspectDef.aspectPath).base.replace(/\\./, '__').replace('@', '__')}${suffix}`);\n const sourceName = pathProp ? getDefaultOrOnlyExport(aspectDef[pathProp]) : undefined;\n const identifier = sourceName ? `{${sourceName} as ${targetName}}` : targetName;\n return identifier;\n}\n\nfunction getDefaultOrOnlyExport(filePath: string): string | undefined {\n try {\n // eslint-disable-next-line import/no-dynamic-require, global-require\n const exports = require(filePath);\n if (exports.default) return undefined;\n if (Object.keys(exports).length === 1) return Object.keys(exports)[0];\n } catch (e) {\n // ignore this error, fallback to just using the default export\n }\n return undefined;\n}\n\nfunction getCoreIdentifier(path: string, suffix: string): string {\n return camelCase(`${parse(path).name.split('.')[0]}${suffix}`);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './ui-server-started-event';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_uiServerStartedEvent","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from './ui-server-started-event';\n"],"mappings":";;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,qBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,qBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,qBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UiServerStartedEventData","constructor","targetHost","targetPort","uiRoot","UiServerStartedEvent","BitBaseEvent","timestamp","TYPE"],"sources":["ui-server-started-event.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitBaseEvent } from '@teambit/pubsub';\n\nclass UiServerStartedEventData {\n constructor(readonly targetHost, readonly targetPort, readonly uiRoot) {}\n}\n\nexport class UiServerStartedEvent extends BitBaseEvent<UiServerStartedEventData> {\n static readonly TYPE = 'ui-server-started';\n\n constructor(readonly timestamp, readonly targetHost, readonly targetPort, readonly uiRoot) {\n super(UiServerStartedEvent.TYPE, '0.0.1', timestamp, new UiServerStartedEventData(targetHost, targetPort, uiRoot));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AADA;;AAGA,MAAMA,wBAAwB,CAAC;EAC7BC,WAAW,CAAUC,UAAU,EAAWC,UAAU,EAAWC,MAAM,EAAE;IAAA,KAAlDF,UAAU,GAAVA,UAAU;IAAA,KAAWC,UAAU,GAAVA,UAAU;IAAA,KAAWC,MAAM,GAANA,MAAM;EAAG;AAC1E;AAEO,MAAMC,oBAAoB,SAASC,sBAAY,CAA2B;EAG/EL,WAAW,CAAUM,SAAS,EAAWL,UAAU,EAAWC,UAAU,EAAWC,MAAM,EAAE;IACzF,KAAK,CAACC,oBAAoB,CAACG,IAAI,EAAE,OAAO,EAAED,SAAS,EAAE,IAAIP,wBAAwB,CAACE,UAAU,EAAEC,UAAU,EAAEC,MAAM,CAAC,CAAC;IAAC,KADhGG,SAAS,GAATA,SAAS;IAAA,KAAWL,UAAU,GAAVA,UAAU;IAAA,KAAWC,UAAU,GAAVA,UAAU;IAAA,KAAWC,MAAM,GAANA,MAAM;EAEzF;AACF;AAAC;AAAA,gCANYC,oBAAoB,UACR,mBAAmB"}
1
+ {"version":3,"names":["_pubsub","data","require","UiServerStartedEventData","constructor","targetHost","targetPort","uiRoot","UiServerStartedEvent","BitBaseEvent","timestamp","TYPE","exports","_defineProperty2","default"],"sources":["ui-server-started-event.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitBaseEvent } from '@teambit/pubsub';\n\nclass UiServerStartedEventData {\n constructor(readonly targetHost, readonly targetPort, readonly uiRoot) {}\n}\n\nexport class UiServerStartedEvent extends BitBaseEvent<UiServerStartedEventData> {\n static readonly TYPE = 'ui-server-started';\n\n constructor(readonly timestamp, readonly targetHost, readonly targetPort, readonly uiRoot) {\n super(UiServerStartedEvent.TYPE, '0.0.1', timestamp, new UiServerStartedEventData(targetHost, targetPort, uiRoot));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AADA;;AAGA,MAAME,wBAAwB,CAAC;EAC7BC,WAAWA,CAAUC,UAAU,EAAWC,UAAU,EAAWC,MAAM,EAAE;IAAA,KAAlDF,UAAU,GAAVA,UAAU;IAAA,KAAWC,UAAU,GAAVA,UAAU;IAAA,KAAWC,MAAM,GAANA,MAAM;EAAG;AAC1E;AAEO,MAAMC,oBAAoB,SAASC,sBAAY,CAA2B;EAG/EL,WAAWA,CAAUM,SAAS,EAAWL,UAAU,EAAWC,UAAU,EAAWC,MAAM,EAAE;IACzF,KAAK,CAACC,oBAAoB,CAACG,IAAI,EAAE,OAAO,EAAED,SAAS,EAAE,IAAIP,wBAAwB,CAACE,UAAU,EAAEC,UAAU,EAAEC,MAAM,CAAC,CAAC;IAAC,KADhGG,SAAS,GAATA,SAAS;IAAA,KAAWL,UAAU,GAAVA,UAAU;IAAA,KAAWC,UAAU,GAAVA,UAAU;IAAA,KAAWC,MAAM,GAANA,MAAM;EAEzF;AACF;AAACK,OAAA,CAAAJ,oBAAA,GAAAA,oBAAA;AAAA,IAAAK,gBAAA,GAAAC,OAAA,EANYN,oBAAoB,UACR,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { UnknownUI } from './unknown-ui';\nexport { UnknownBuildError } from './unknown-build-error';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_unknownUi","data","require","_unknownBuildError"],"sources":["index.ts"],"sourcesContent":["export { UnknownUI } from './unknown-ui';\nexport { UnknownBuildError } from './unknown-build-error';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,mBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,kBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UnknownBuildError","Error","constructor"],"sources":["unknown-build-error.ts"],"sourcesContent":["export class UnknownBuildError extends Error {\n constructor() {\n super('unknown UI build error');\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAC3CC,WAAW,GAAG;IACZ,KAAK,CAAC,wBAAwB,CAAC;EACjC;AACF;AAAC"}
1
+ {"version":3,"names":["UnknownBuildError","Error","constructor","exports"],"sources":["unknown-build-error.ts"],"sourcesContent":["export class UnknownBuildError extends Error {\n constructor() {\n super('unknown UI build error');\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,SAASC,KAAK,CAAC;EAC3CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,wBAAwB,CAAC;EACjC;AACF;AAACC,OAAA,CAAAH,iBAAA,GAAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UnknownUI","Error","constructor","uiRoot","available","toString","join"],"sources":["unknown-ui.ts"],"sourcesContent":["export class UnknownUI extends Error {\n constructor(readonly uiRoot: string = '', readonly available?: string[]) {\n super();\n }\n\n toString() {\n return `Unknown UI root: \"${this.uiRoot}\". Available ui roots are: [${this.available?.join(', ')}]`;\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EACnCC,WAAW,CAAUC,MAAc,GAAG,EAAE,EAAWC,SAAoB,EAAE;IACvE,KAAK,EAAE;IAAC,KADWD,MAAc,GAAdA,MAAc;IAAA,KAAgBC,SAAoB,GAApBA,SAAoB;EAEvE;EAEAC,QAAQ,GAAG;IAAA;IACT,OAAQ,qBAAoB,IAAI,CAACF,MAAO,+BAA4B,mBAAE,IAAI,CAACC,SAAS,oDAAd,gBAAgBE,IAAI,CAAC,IAAI,CAAE,GAAE;EACrG;AACF;AAAC"}
1
+ {"version":3,"names":["UnknownUI","Error","constructor","uiRoot","available","toString","_this$available","join","exports"],"sources":["unknown-ui.ts"],"sourcesContent":["export class UnknownUI extends Error {\n constructor(readonly uiRoot: string = '', readonly available?: string[]) {\n super();\n }\n\n toString() {\n return `Unknown UI root: \"${this.uiRoot}\". Available ui roots are: [${this.available?.join(', ')}]`;\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EACnCC,WAAWA,CAAUC,MAAc,GAAG,EAAE,EAAWC,SAAoB,EAAE;IACvE,KAAK,CAAC,CAAC;IAAC,KADWD,MAAc,GAAdA,MAAc;IAAA,KAAgBC,SAAoB,GAApBA,SAAoB;EAEvE;EAEAC,QAAQA,CAAA,EAAG;IAAA,IAAAC,eAAA;IACT,OAAQ,qBAAoB,IAAI,CAACH,MAAO,+BAA4B,CAAAG,eAAA,GAAE,IAAI,CAACF,SAAS,cAAAE,eAAA,uBAAdA,eAAA,CAAgBC,IAAI,CAAC,IAAI,CAAE,GAAE;EACrG;AACF;AAACC,OAAA,CAAAR,SAAA,GAAAA,SAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import type * as SSR from '@teambit/react.rendering.ssr';\n\nexport { UIAspect, UIRuntime, UIAspect as default } from './ui.aspect';\n\nexport * from './events';\nexport { UIRoot, PostStartOptions, ProxyEntry } from './ui-root';\nexport type { UiMain, PreStartOpts } from './ui.main.runtime';\nexport type { UiUI } from './ui.ui.runtime';\nexport type { StartPlugin, StartPluginOptions } from './start-plugin';\nexport type { SSR };\n\nexport type { UIRootUI, UIRootFactory } from './ui-root.ui';\nexport type { UIServer } from './ui-server';\nexport { BUNDLE_UI_DIR, BundleUiTask } from './bundle-ui.task';\n\n// using `useDataQuery` from this package is deprecated, use `@teambit/ui-foundation.ui.hooks.use-data-query` directly\nexport { DataQueryResult, useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\n// temporary. TODO: fix this\nexport { useMutation } from '@apollo/client';\n\n// some types still used by Symphony\nexport type {\n /** @deprecated - use SSR.BrowserData */\n BrowserData,\n /** @deprecated - use SSR.RenderPlugin */\n RenderPlugin,\n /** @deprecated use SSR.RenderPlugin */\n RenderPlugin as RenderPlugins,\n /** @deprecated use SSR..RenderPlugin */\n RenderPlugin as RenderLifecycle,\n} from '@teambit/react.rendering.ssr';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAQA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_ui","data","require","_events","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_uiRoot","_bundleUi","_uiFoundationUiHooks","_client"],"sources":["index.ts"],"sourcesContent":["import type * as SSR from '@teambit/react.rendering.ssr';\n\nexport { UIAspect, UIRuntime, UIAspect as default } from './ui.aspect';\n\nexport * from './events';\nexport { UIRoot, PostStartOptions, ProxyEntry } from './ui-root';\nexport type { UiMain, PreStartOpts } from './ui.main.runtime';\nexport type { UiUI } from './ui.ui.runtime';\nexport type { StartPlugin, StartPluginOptions } from './start-plugin';\nexport type { SSR };\n\nexport type { UIRootUI, UIRootFactory } from './ui-root.ui';\nexport type { UIServer } from './ui-server';\nexport { BUNDLE_UI_DIR, BundleUiTask } from './bundle-ui.task';\n\n// using `useDataQuery` from this package is deprecated, use `@teambit/ui-foundation.ui.hooks.use-data-query` directly\nexport { DataQueryResult, useDataQuery } from '@teambit/ui-foundation.ui.hooks.use-data-query';\n// temporary. TODO: fix this\nexport { useMutation } from '@apollo/client';\n\n// some types still used by Symphony\nexport type {\n /** @deprecated - use SSR.BrowserData */\n BrowserData,\n /** @deprecated - use SSR.RenderPlugin */\n RenderPlugin,\n /** @deprecated use SSR.RenderPlugin */\n RenderPlugin as RenderPlugins,\n /** @deprecated use SSR..RenderPlugin */\n RenderPlugin as RenderLifecycle,\n} from '@teambit/react.rendering.ssr';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,IAAAE,OAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,SAAAS,QAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,OAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAQA,SAAAgB,UAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,SAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAiB,qBAAA;EAAA,MAAAjB,IAAA,GAAAC,OAAA;EAAAgB,oBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAkB,QAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,OAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1114/dist/ui.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1114/dist/ui.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1116/dist/ui.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1116/dist/ui.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createSsrMiddleware } from './ssr-middleware';\n"],"mappings":";;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_ssrMiddleware","data","require"],"sources":["index.ts"],"sourcesContent":["export { createSsrMiddleware } from './ssr-middleware';\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["denyList","createSsrMiddleware","root","port","title","logger","runtime","loadRuntime","undefined","render","assets","serverRenderMiddleware","request","response","next","query","url","browser","browserFromExpress","test","debug","rendering","method","server","props","rendered","set","send","e","error","entryFilepath","path","join","fs","existsSync","warn","manifestFilepath","parseManifest","imported","default","filepath","file","readFile","contents","toString","parsed","JSON","parse","getAssets","process","exit","manifest","css","js","entrypoints","filter","x","endsWith","map"],"sources":["ssr-middleware.ts"],"sourcesContent":["import { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\nimport type { Logger } from '@teambit/logger';\nimport type { Request, Response, NextFunction } from 'express';\nimport path from 'path';\nimport * as fs from 'fs-extra';\n\nconst denyList = /^\\/favicon.ico$/;\n\ntype ssrRenderProps = {\n root: string;\n port: number;\n title: string;\n logger: Logger;\n};\n\ntype ManifestFile = {\n files?: Record<string, string>;\n entrypoints?: string[];\n};\n\nexport async function createSsrMiddleware({ root, port, title, logger }: ssrRenderProps) {\n const runtime = await loadRuntime(root, { logger });\n if (!runtime) return undefined;\n\n const { render } = runtime;\n const assets = { ...runtime.assets, title };\n\n return async function serverRenderMiddleware(request: Request, response: Response, next: NextFunction) {\n const { query, url } = request;\n\n const browser = browserFromExpress(request, port);\n\n if (denyList.test(url)) {\n logger.debug(`[ssr] skipping static denyList file ${url}`);\n next();\n return;\n }\n\n if (query.rendering === 'client') {\n logger.debug(`[ssr] skipping ${url}`);\n next();\n return;\n }\n\n logger.debug(`[ssr] ${request.method} ${url}`);\n const server = { port, request, response };\n const props: SsrSession = { assets, browser, request, response, server };\n\n try {\n const rendered = await render(props);\n response.set('Cache-Control', 'no-cache');\n response.send(rendered);\n logger.debug(`[ssr] success '${url}'`);\n } catch (e: any) {\n logger.error(`[ssr] failed at '${url}'`, e);\n next();\n }\n };\n}\n\nasync function loadRuntime(root: string, { logger }: { logger: Logger }) {\n let render: (...arg: any[]) => any;\n let assets: HtmlAssets | undefined;\n\n try {\n const entryFilepath = path.join(root, 'ssr', 'index.js');\n if (!fs.existsSync(entryFilepath)) {\n logger.warn(`[ssr] - Skipping setup - failed finding ssr bundle at \"${entryFilepath}\"`);\n return undefined;\n }\n\n const manifestFilepath = path.join(root, 'asset-manifest.json');\n if (!fs.existsSync(manifestFilepath)) {\n logger.warn('[ssr] - Skipping setup (cannot find asset manifest file)');\n return undefined;\n }\n\n assets = await parseManifest(manifestFilepath);\n if (!assets) {\n logger.warn('[ssr] - Skipping setup (failed parsing assets manifest)');\n return undefined;\n }\n\n const imported = await import(entryFilepath);\n render = imported?.default || imported?.render;\n\n if (!render || typeof render !== 'function') {\n logger.warn('[ssr] - index file does not export a render() function. Skipping setup.');\n return undefined;\n }\n } catch (e: any) {\n logger.error(e);\n return undefined;\n }\n\n return {\n render,\n assets,\n };\n}\n\nasync function parseManifest(filepath: string, logger?: Logger) {\n try {\n const file = await fs.readFile(filepath);\n logger?.debug('[ssr] - ✓ aread manifest file');\n const contents = file.toString();\n const parsed: ManifestFile = JSON.parse(contents);\n logger?.debug('[ssr] - ✓ prased manifest file', parsed);\n const assets = getAssets(parsed);\n logger?.debug('[ssr] - ✓ extracted data from manifest file', assets);\n\n return assets;\n } catch (e: any) {\n logger?.error('[ssr] - error parsing asset manifest', e);\n process.exit();\n return undefined;\n }\n}\n\nfunction getAssets(manifest: ManifestFile) {\n const assets: HtmlAssets = { css: [], js: [] };\n\n assets.css = manifest.entrypoints?.filter((x) => x.endsWith('css')).map((x) => path.join('/', x));\n assets.js = manifest.entrypoints?.filter((x) => x.endsWith('js')).map((x) => path.join('/', x));\n\n return assets;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactRendering","data","require","_path","_interopRequireDefault","fs","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","denyList","createSsrMiddleware","root","port","title","logger","runtime","loadRuntime","undefined","render","assets","serverRenderMiddleware","request","response","next","query","url","browser","browserFromExpress","test","debug","rendering","method","server","props","rendered","send","e","error","entryFilepath","path","join","existsSync","warn","manifestFilepath","parseManifest","imported","Promise","resolve","then","s","filepath","file","readFile","contents","toString","parsed","JSON","parse","getAssets","process","exit","manifest","_manifest$entrypoints","_manifest$entrypoints2","css","js","entrypoints","x","endsWith","map"],"sources":["ssr-middleware.ts"],"sourcesContent":["import { browserFromExpress } from '@teambit/react.rendering.ssr';\nimport type { HtmlAssets, SsrSession } from '@teambit/react.rendering.ssr';\nimport type { Logger } from '@teambit/logger';\nimport type { Request, Response, NextFunction } from 'express';\nimport path from 'path';\nimport * as fs from 'fs-extra';\n\nconst denyList = /^\\/favicon.ico$/;\n\ntype ssrRenderProps = {\n root: string;\n port: number;\n title: string;\n logger: Logger;\n};\n\ntype ManifestFile = {\n files?: Record<string, string>;\n entrypoints?: string[];\n};\n\nexport async function createSsrMiddleware({ root, port, title, logger }: ssrRenderProps) {\n const runtime = await loadRuntime(root, { logger });\n if (!runtime) return undefined;\n\n const { render } = runtime;\n const assets = { ...runtime.assets, title };\n\n return async function serverRenderMiddleware(request: Request, response: Response, next: NextFunction) {\n const { query, url } = request;\n\n const browser = browserFromExpress(request, port);\n\n if (denyList.test(url)) {\n logger.debug(`[ssr] skipping static denyList file ${url}`);\n next();\n return;\n }\n\n if (query.rendering === 'client') {\n logger.debug(`[ssr] skipping ${url}`);\n next();\n return;\n }\n\n logger.debug(`[ssr] ${request.method} ${url}`);\n const server = { port, request, response };\n const props: SsrSession = { assets, browser, request, response, server };\n\n try {\n const rendered = await render(props);\n response.set('Cache-Control', 'no-cache');\n response.send(rendered);\n logger.debug(`[ssr] success '${url}'`);\n } catch (e: any) {\n logger.error(`[ssr] failed at '${url}'`, e);\n next();\n }\n };\n}\n\nasync function loadRuntime(root: string, { logger }: { logger: Logger }) {\n let render: (...arg: any[]) => any;\n let assets: HtmlAssets | undefined;\n\n try {\n const entryFilepath = path.join(root, 'ssr', 'index.js');\n if (!fs.existsSync(entryFilepath)) {\n logger.warn(`[ssr] - Skipping setup - failed finding ssr bundle at \"${entryFilepath}\"`);\n return undefined;\n }\n\n const manifestFilepath = path.join(root, 'asset-manifest.json');\n if (!fs.existsSync(manifestFilepath)) {\n logger.warn('[ssr] - Skipping setup (cannot find asset manifest file)');\n return undefined;\n }\n\n assets = await parseManifest(manifestFilepath);\n if (!assets) {\n logger.warn('[ssr] - Skipping setup (failed parsing assets manifest)');\n return undefined;\n }\n\n const imported = await import(entryFilepath);\n render = imported?.default || imported?.render;\n\n if (!render || typeof render !== 'function') {\n logger.warn('[ssr] - index file does not export a render() function. Skipping setup.');\n return undefined;\n }\n } catch (e: any) {\n logger.error(e);\n return undefined;\n }\n\n return {\n render,\n assets,\n };\n}\n\nasync function parseManifest(filepath: string, logger?: Logger) {\n try {\n const file = await fs.readFile(filepath);\n logger?.debug('[ssr] - ✓ aread manifest file');\n const contents = file.toString();\n const parsed: ManifestFile = JSON.parse(contents);\n logger?.debug('[ssr] - ✓ prased manifest file', parsed);\n const assets = getAssets(parsed);\n logger?.debug('[ssr] - ✓ extracted data from manifest file', assets);\n\n return assets;\n } catch (e: any) {\n logger?.error('[ssr] - error parsing asset manifest', e);\n process.exit();\n return undefined;\n }\n}\n\nfunction getAssets(manifest: ManifestFile) {\n const assets: HtmlAssets = { css: [], js: [] };\n\n assets.css = manifest.entrypoints?.filter((x) => x.endsWith('css')).map((x) => path.join('/', x));\n assets.js = manifest.entrypoints?.filter((x) => x.endsWith('js')).map((x) => path.join('/', x));\n\n return assets;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["StartCmd","constructor","ui","logger","name","description","COMPONENT_PATTERN_HELP","render","userPattern","dev","port","rebuild","verbose","noBrowser","skipCompilation","skipUiBuild","uiRootName","off","isHostAvailable","BitError","appName","getUiName","invokePreStart","uiServer","createRuntime","pattern","then","server","buildOptions","launchBrowserOnStart","undefined","whenReady","openBrowser","publicUrl","fullUrl","catch","error","invokeOnStart","clearConsole"],"sources":["start.cmd.tsx"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { UIServerConsole } from '@teambit/ui-foundation.cli.ui-server-console';\nimport React from 'react';\nimport openBrowser from 'react-dev-utils/openBrowser';\nimport type { UiMain } from './ui.main.runtime';\n\ntype StartArgs = [userPattern: string];\ntype StartFlags = {\n dev: boolean;\n port: string;\n rebuild: boolean;\n verbose: boolean;\n noBrowser: boolean;\n skipCompilation: boolean;\n skipUiBuild: boolean;\n uiRootName: string;\n};\n\nexport class StartCmd implements Command {\n name = 'start [component-pattern]';\n description = 'run the ui/development server';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n alias = 'c';\n group = 'development';\n options = [\n ['d', 'dev', 'start UI server in dev mode.'],\n ['p', 'port [port-number]', 'port of the UI server.'],\n ['r', 'rebuild', 'rebuild the UI'],\n ['', 'skip-ui-build', 'skip building UI'],\n ['v', 'verbose', 'show verbose output for inspection and prints stack trace'],\n ['n', 'no-browser', 'do not automatically open browser when ready'],\n ['', 'skip-compilation', 'skip the auto-compilation before starting the web-server'],\n [\n 'u',\n 'ui-root-name [type]',\n 'name of the ui root to use, e.g. \"teambit.scope/scope\" or \"teambit.workspace/workspace\"',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private ui: UiMain,\n\n private logger: Logger\n ) {}\n\n // async report([uiRootName, userPattern]: StartArgs, { dev, port, rebuild, verbose }: StartFlags): Promise<string> {\n // this.logger.off();\n // const pattern = userPattern && userPattern.toString();\n\n // const uiServer = await this.ui.createRuntime({\n // uiRootName,\n // pattern,\n // dev,\n // port: port ? parseInt(port) : undefined,\n // rebuild,\n // verbose,\n // });\n\n // return `Bit server has started on port ${uiServer.port}`;\n // }\n\n async render(\n [userPattern]: StartArgs,\n { dev, port, rebuild, verbose, noBrowser, skipCompilation, skipUiBuild, uiRootName }: StartFlags\n ): Promise<React.ReactElement> {\n this.logger.off();\n if (!this.ui.isHostAvailable()) {\n throw new BitError(\n `bit start can only be run inside a bit workspace or a bit scope - please ensure you are running the command in the correct directory`\n );\n }\n const appName = this.ui.getUiName(uiRootName);\n await this.ui.invokePreStart({ skipCompilation });\n const uiServer = this.ui.createRuntime({\n uiRootName,\n skipUiBuild,\n pattern: userPattern,\n dev,\n port: +port,\n rebuild,\n verbose,\n });\n\n if (!noBrowser) {\n uiServer\n .then(async (server) => {\n if (!server.buildOptions?.launchBrowserOnStart) return undefined;\n\n await server.whenReady;\n\n return openBrowser(this.ui.publicUrl || server.fullUrl);\n })\n .catch((error) => this.logger.error(error));\n }\n\n // DO NOT CHANGE THIS - this meant to be an async hook.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.ui.invokeOnStart();\n this.ui.clearConsole();\n\n return <UIServerConsole appName={appName} futureUiServer={uiServer} url={this.ui.publicUrl} />;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_bitError","data","require","_constants","_uiFoundationCli","_react","_interopRequireDefault","_openBrowser","StartCmd","constructor","ui","logger","_defineProperty2","default","name","description","COMPONENT_PATTERN_HELP","render","userPattern","dev","port","rebuild","verbose","noBrowser","skipCompilation","skipUiBuild","uiRootName","off","isHostAvailable","BitError","appName","getUiName","invokePreStart","uiServer","createRuntime","pattern","then","server","_server$buildOptions","buildOptions","launchBrowserOnStart","undefined","whenReady","openBrowser","publicUrl","fullUrl","catch","error","invokeOnStart","clearConsole","createElement","UIServerConsole","futureUiServer","url","exports"],"sources":["start.cmd.tsx"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { Logger } from '@teambit/logger';\nimport { UIServerConsole } from '@teambit/ui-foundation.cli.ui-server-console';\nimport React from 'react';\nimport openBrowser from 'react-dev-utils/openBrowser';\nimport type { UiMain } from './ui.main.runtime';\n\ntype StartArgs = [userPattern: string];\ntype StartFlags = {\n dev: boolean;\n port: string;\n rebuild: boolean;\n verbose: boolean;\n noBrowser: boolean;\n skipCompilation: boolean;\n skipUiBuild: boolean;\n uiRootName: string;\n};\n\nexport class StartCmd implements Command {\n name = 'start [component-pattern]';\n description = 'run the ui/development server';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n alias = 'c';\n group = 'development';\n options = [\n ['d', 'dev', 'start UI server in dev mode.'],\n ['p', 'port [port-number]', 'port of the UI server.'],\n ['r', 'rebuild', 'rebuild the UI'],\n ['', 'skip-ui-build', 'skip building UI'],\n ['v', 'verbose', 'show verbose output for inspection and prints stack trace'],\n ['n', 'no-browser', 'do not automatically open browser when ready'],\n ['', 'skip-compilation', 'skip the auto-compilation before starting the web-server'],\n [\n 'u',\n 'ui-root-name [type]',\n 'name of the ui root to use, e.g. \"teambit.scope/scope\" or \"teambit.workspace/workspace\"',\n ],\n ] as CommandOptions;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private ui: UiMain,\n\n private logger: Logger\n ) {}\n\n // async report([uiRootName, userPattern]: StartArgs, { dev, port, rebuild, verbose }: StartFlags): Promise<string> {\n // this.logger.off();\n // const pattern = userPattern && userPattern.toString();\n\n // const uiServer = await this.ui.createRuntime({\n // uiRootName,\n // pattern,\n // dev,\n // port: port ? parseInt(port) : undefined,\n // rebuild,\n // verbose,\n // });\n\n // return `Bit server has started on port ${uiServer.port}`;\n // }\n\n async render(\n [userPattern]: StartArgs,\n { dev, port, rebuild, verbose, noBrowser, skipCompilation, skipUiBuild, uiRootName }: StartFlags\n ): Promise<React.ReactElement> {\n this.logger.off();\n if (!this.ui.isHostAvailable()) {\n throw new BitError(\n `bit start can only be run inside a bit workspace or a bit scope - please ensure you are running the command in the correct directory`\n );\n }\n const appName = this.ui.getUiName(uiRootName);\n await this.ui.invokePreStart({ skipCompilation });\n const uiServer = this.ui.createRuntime({\n uiRootName,\n skipUiBuild,\n pattern: userPattern,\n dev,\n port: +port,\n rebuild,\n verbose,\n });\n\n if (!noBrowser) {\n uiServer\n .then(async (server) => {\n if (!server.buildOptions?.launchBrowserOnStart) return undefined;\n\n await server.whenReady;\n\n return openBrowser(this.ui.publicUrl || server.fullUrl);\n })\n .catch((error) => this.logger.error(error));\n }\n\n // DO NOT CHANGE THIS - this meant to be an async hook.\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.ui.invokeOnStart();\n this.ui.clearConsole();\n\n return <UIServerConsole appName={appName} futureUiServer={uiServer} url={this.ui.publicUrl} />;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,iBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,gBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAK,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAeO,MAAMO,QAAQ,CAAoB;EA0BvCC,WAAWA;EACT;AACJ;AACA;EACYC,EAAU,EAEVC,MAAc,EACtB;IAAA,KAHQD,EAAU,GAAVA,EAAU;IAAA,KAEVC,MAAc,GAAdA,MAAc;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBA/BjB,2BAA2B;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACpB,+BAA+B;IAAA,IAAAD,gBAAA,GAAAC,OAAA,qBACjC,CACV;MACEC,IAAI,EAAE,mBAAmB;MACzBC,WAAW,EAAEC;IACf,CAAC,CACF;IAAA,IAAAJ,gBAAA,GAAAC,OAAA,iBACO,GAAG;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACH,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACX,CACR,CAAC,GAAG,EAAE,KAAK,EAAE,8BAA8B,CAAC,EAC5C,CAAC,GAAG,EAAE,oBAAoB,EAAE,wBAAwB,CAAC,EACrD,CAAC,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAClC,CAAC,EAAE,EAAE,eAAe,EAAE,kBAAkB,CAAC,EACzC,CAAC,GAAG,EAAE,SAAS,EAAE,2DAA2D,CAAC,EAC7E,CAAC,GAAG,EAAE,YAAY,EAAE,8CAA8C,CAAC,EACnE,CAAC,EAAE,EAAE,kBAAkB,EAAE,0DAA0D,CAAC,EACpF,CACE,GAAG,EACH,qBAAqB,EACrB,yFAAyF,CAC1F,CACF;EASE;;EAEH;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA,MAAMI,MAAMA,CACV,CAACC,WAAW,CAAY,EACxB;IAAEC,GAAG;IAAEC,IAAI;IAAEC,OAAO;IAAEC,OAAO;IAAEC,SAAS;IAAEC,eAAe;IAAEC,WAAW;IAAEC;EAAuB,CAAC,EACnE;IAC7B,IAAI,CAACf,MAAM,CAACgB,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,IAAI,CAACjB,EAAE,CAACkB,eAAe,CAAC,CAAC,EAAE;MAC9B,MAAM,KAAIC,oBAAQ,EACf,sIACH,CAAC;IACH;IACA,MAAMC,OAAO,GAAG,IAAI,CAACpB,EAAE,CAACqB,SAAS,CAACL,UAAU,CAAC;IAC7C,MAAM,IAAI,CAAChB,EAAE,CAACsB,cAAc,CAAC;MAAER;IAAgB,CAAC,CAAC;IACjD,MAAMS,QAAQ,GAAG,IAAI,CAACvB,EAAE,CAACwB,aAAa,CAAC;MACrCR,UAAU;MACVD,WAAW;MACXU,OAAO,EAAEjB,WAAW;MACpBC,GAAG;MACHC,IAAI,EAAE,CAACA,IAAI;MACXC,OAAO;MACPC;IACF,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,EAAE;MACdU,QAAQ,CACLG,IAAI,CAAC,MAAOC,MAAM,IAAK;QAAA,IAAAC,oBAAA;QACtB,IAAI,GAAAA,oBAAA,GAACD,MAAM,CAACE,YAAY,cAAAD,oBAAA,eAAnBA,oBAAA,CAAqBE,oBAAoB,GAAE,OAAOC,SAAS;QAEhE,MAAMJ,MAAM,CAACK,SAAS;QAEtB,OAAO,IAAAC,sBAAW,EAAC,IAAI,CAACjC,EAAE,CAACkC,SAAS,IAAIP,MAAM,CAACQ,OAAO,CAAC;MACzD,CAAC,CAAC,CACDC,KAAK,CAAEC,KAAK,IAAK,IAAI,CAACpC,MAAM,CAACoC,KAAK,CAACA,KAAK,CAAC,CAAC;IAC/C;;IAEA;IACA;IACA,IAAI,CAACrC,EAAE,CAACsC,aAAa,CAAC,CAAC;IACvB,IAAI,CAACtC,EAAE,CAACuC,YAAY,CAAC,CAAC;IAEtB,oBAAO5C,MAAA,GAAAQ,OAAA,CAAAqC,aAAA,CAAC9C,gBAAA,GAAA+C,eAAe;MAACrB,OAAO,EAAEA,OAAQ;MAACsB,cAAc,EAAEnB,QAAS;MAACoB,GAAG,EAAE,IAAI,CAAC3C,EAAE,CAACkC;IAAU,CAAE,CAAC;EAChG;AACF;AAACU,OAAA,CAAA9C,QAAA,GAAAA,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["ClientContext","children","loaderApi","isLoading","useLoaderApi","styles","loader"],"sources":["client-context.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n// import { Theme } from '@teambit/base-ui.theme.theme-provider';\nimport { ThemeSwitcher } from '@teambit/design.themes.theme-toggler';\nimport { IconFont } from '@teambit/design.theme.icons-font';\nimport { LoaderRibbon } from '@teambit/base-ui.loaders.loader-ribbon';\nimport { Roboto } from '@teambit/base-ui.theme.fonts.roboto';\nimport { TooltipMountPoint } from '@teambit/design.ui.tooltip';\n\nimport { LoaderContext, useLoaderApi } from '@teambit/ui-foundation.ui.global-loader';\nimport styles from './client-context.module.scss';\n\nexport function ClientContext({ children }: { children: ReactNode }) {\n const [loaderApi, isLoading] = useLoaderApi();\n\n return (\n <React.StrictMode>\n {/* TODO - try moving LoaderContext to contextSlot, and LoaderRibbon to hudSlot */}\n <LoaderContext.Provider value={loaderApi}>\n <IconFont query=\"q76y7n\" />\n <ThemeSwitcher>\n <Roboto />\n <LoaderRibbon active={isLoading} className={styles.loader} />\n {children}\n <TooltipMountPoint />\n </ThemeSwitcher>\n </LoaderContext.Provider>\n </React.StrictMode>\n );\n}\n"],"mappings":";;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AARA;;AAUO,SAASA,aAAa,CAAC;EAAEC;AAAkC,CAAC,EAAE;EACnE,MAAM,CAACC,SAAS,EAAEC,SAAS,CAAC,GAAG,IAAAC,8BAAY,GAAE;EAE7C,oBACE,+BAAC,gBAAK,CAAC,UAAU,qBAEf,+BAAC,+BAAa,CAAC,QAAQ;IAAC,KAAK,EAAEF;EAAU,gBACvC,+BAAC,uBAAQ;IAAC,KAAK,EAAC;EAAQ,EAAG,eAC3B,+BAAC,6BAAa,qBACZ,+BAAC,0BAAM,OAAG,eACV,+BAAC,6BAAY;IAAC,MAAM,EAAEC,SAAU;IAAC,SAAS,EAAEE,8BAAM,CAACC;EAAO,EAAG,EAC5DL,QAAQ,eACT,+BAAC,6BAAiB,OAAG,CACP,CACO,CACR;AAEvB"}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_designThemes","_designTheme","_baseUiLoaders","_baseUiThemeFonts","_designUi","_uiFoundationUi","_clientContextModule","ClientContext","children","loaderApi","isLoading","useLoaderApi","default","createElement","StrictMode","LoaderContext","Provider","value","IconFont","query","ThemeSwitcher","Roboto","LoaderRibbon","active","className","styles","loader","TooltipMountPoint"],"sources":["client-context.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\n// import { Theme } from '@teambit/base-ui.theme.theme-provider';\nimport { ThemeSwitcher } from '@teambit/design.themes.theme-toggler';\nimport { IconFont } from '@teambit/design.theme.icons-font';\nimport { LoaderRibbon } from '@teambit/base-ui.loaders.loader-ribbon';\nimport { Roboto } from '@teambit/base-ui.theme.fonts.roboto';\nimport { TooltipMountPoint } from '@teambit/design.ui.tooltip';\n\nimport { LoaderContext, useLoaderApi } from '@teambit/ui-foundation.ui.global-loader';\nimport styles from './client-context.module.scss';\n\nexport function ClientContext({ children }: { children: ReactNode }) {\n const [loaderApi, isLoading] = useLoaderApi();\n\n return (\n <React.StrictMode>\n {/* TODO - try moving LoaderContext to contextSlot, and LoaderRibbon to hudSlot */}\n <LoaderContext.Provider value={loaderApi}>\n <IconFont query=\"q76y7n\" />\n <ThemeSwitcher>\n <Roboto />\n <LoaderRibbon active={isLoading} className={styles.loader} />\n {children}\n <TooltipMountPoint />\n </ThemeSwitcher>\n </LoaderContext.Provider>\n </React.StrictMode>\n );\n}\n"],"mappings":";;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,aAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,YAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,eAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,cAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,kBAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,UAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,SAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,gBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,eAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,qBAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,oBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AARA;;AAUO,SAASU,aAAaA,CAAC;EAAEC;AAAkC,CAAC,EAAE;EACnE,MAAM,CAACC,SAAS,EAAEC,SAAS,CAAC,GAAG,IAAAC,8BAAY,EAAC,CAAC;EAE7C,oBACEf,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACjB,MAAA,GAAAgB,OAAK,CAACE,UAAU,qBAEflB,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACR,eAAA,GAAAU,aAAa,CAACC,QAAQ;IAACC,KAAK,EAAER;EAAU,gBACvCb,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACZ,YAAA,GAAAiB,QAAQ;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,eAC3BvB,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACb,aAAA,GAAAoB,aAAa,qBACZxB,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACV,iBAAA,GAAAkB,MAAM,MAAE,CAAC,eACVzB,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACX,cAAA,GAAAoB,YAAY;IAACC,MAAM,EAAEb,SAAU;IAACc,SAAS,EAAEC,8BAAM,CAACC;EAAO,CAAE,CAAC,EAC5DlB,QAAQ,eACTZ,MAAA,GAAAgB,OAAA,CAAAC,aAAA,CAACT,SAAA,GAAAuB,iBAAiB,MAAE,CACP,CACO,CACR,CAAC;AAEvB"}
@@ -1 +1 @@
1
- {"version":3,"names":["UIBuildCmd","constructor","ui","report","type","stats","build","UnknownBuildError","toString"],"sources":["ui-build.cmd.tsx"],"sourcesContent":["import { Command } from '@teambit/cli';\nimport { UnknownBuildError } from './exceptions';\n\nimport { UiMain } from './ui.main.runtime';\n\nexport class UIBuildCmd implements Command {\n name = 'ui-build [type]';\n description = 'build production assets for deployment.';\n alias = 'c';\n group = 'development';\n options = [];\n private = true;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private ui: UiMain\n ) {}\n\n async report([type]: [string]): Promise<string> {\n // teambit.workspace/variants should be the one to take care of component patterns.\n const stats = await this.ui.build(type);\n if (!stats) throw new UnknownBuildError();\n return stats.toString();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAIO,MAAMA,UAAU,CAAoB;EAQzCC,WAAW;EACT;AACJ;AACA;EACYC,EAAU,EAClB;IAAA,KADQA,EAAU,GAAVA,EAAU;IAAA,8CAXb,iBAAiB;IAAA,qDACV,yCAAyC;IAAA,+CAC/C,GAAG;IAAA,+CACH,aAAa;IAAA,iDACX,EAAE;IAAA,iDACF,IAAI;EAOX;EAEH,MAAMC,MAAM,CAAC,CAACC,IAAI,CAAW,EAAmB;IAC9C;IACA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACH,EAAE,CAACI,KAAK,CAACF,IAAI,CAAC;IACvC,IAAI,CAACC,KAAK,EAAE,MAAM,KAAIE,+BAAiB,GAAE;IACzC,OAAOF,KAAK,CAACG,QAAQ,EAAE;EACzB;AACF;AAAC"}
1
+ {"version":3,"names":["_exceptions","data","require","UIBuildCmd","constructor","ui","_defineProperty2","default","report","type","stats","build","UnknownBuildError","toString","exports"],"sources":["ui-build.cmd.tsx"],"sourcesContent":["import { Command } from '@teambit/cli';\nimport { UnknownBuildError } from './exceptions';\n\nimport { UiMain } from './ui.main.runtime';\n\nexport class UIBuildCmd implements Command {\n name = 'ui-build [type]';\n description = 'build production assets for deployment.';\n alias = 'c';\n group = 'development';\n options = [];\n private = true;\n\n constructor(\n /**\n * access to the extension instance.\n */\n private ui: UiMain\n ) {}\n\n async report([type]: [string]): Promise<string> {\n // teambit.workspace/variants should be the one to take care of component patterns.\n const stats = await this.ui.build(type);\n if (!stats) throw new UnknownBuildError();\n return stats.toString();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIO,MAAME,UAAU,CAAoB;EAQzCC,WAAWA;EACT;AACJ;AACA;EACYC,EAAU,EAClB;IAAA,KADQA,EAAU,GAAVA,EAAU;IAAA,IAAAC,gBAAA,GAAAC,OAAA,gBAXb,iBAAiB;IAAA,IAAAD,gBAAA,GAAAC,OAAA,uBACV,yCAAyC;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBAC/C,GAAG;IAAA,IAAAD,gBAAA,GAAAC,OAAA,iBACH,aAAa;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACX,EAAE;IAAA,IAAAD,gBAAA,GAAAC,OAAA,mBACF,IAAI;EAOX;EAEH,MAAMC,MAAMA,CAAC,CAACC,IAAI,CAAW,EAAmB;IAC9C;IACA,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACL,EAAE,CAACM,KAAK,CAACF,IAAI,CAAC;IACvC,IAAI,CAACC,KAAK,EAAE,MAAM,KAAIE,+BAAiB,EAAC,CAAC;IACzC,OAAOF,KAAK,CAACG,QAAQ,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAAX,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UIServer","constructor","graphql","expressExtension","ui","uiRoot","uiRootExtension","logger","publicDir","plugins","Promise","resolve","setReady","getName","name","port","_port","host","fullUrl","buildOptions","getDevConfig","aspects","resolveAspects","UIRuntime","devConfig","path","generateRoot","whenReady","all","startPromise","map","x","start","bundleUiRoot","portRange","app","createApp","defaultRoot","join","root","server","createServer","configureProxy","use","express","static","index","Port","getPortFromRange","setupServerSideRendering","fallback","listen","info","getPluginsComponents","plugin","render","ssr","ssrMiddleware","createSsrMiddleware","title","warn","get","debug","proxServer","httpProxy","createProxyServer","on","e","error","message","proxyEntries","getProxyFromPlugins","req","socket","head","entry","find","proxy","context","some","item","stripTrailingChar","url","ws","target","forEach","route","res","originalUrl","web","dev","devServerPort","selectPort","expressAppPort","config","compiler","webpack","devServerConfig","getDevServerConfig","devServer","WebpackDevServer","proxiesByPlugin","getProxy","flatten","gqlProxies","changeOrigin","concat","appPort","gqlPort","devServerConf","create","props","startPlugins"],"sources":["ui-server.ts"],"sourcesContent":["import { flatten } from 'lodash';\nimport { ExpressMain } from '@teambit/express';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Logger } from '@teambit/logger';\nimport express, { Express } from 'express';\nimport fallback from 'express-history-api-fallback';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { stripTrailingChar } from '@teambit/legacy/dist/utils';\nimport { Server } from 'http';\nimport httpProxy from 'http-proxy';\nimport { join } from 'path';\nimport webpack from 'webpack';\nimport WebpackDevServer, { Configuration as WdsConfiguration } from 'webpack-dev-server';\nimport { createSsrMiddleware } from './ssr-middleware';\nimport { StartPlugin } from './start-plugin';\nimport { ProxyEntry, UIRoot } from './ui-root';\nimport { UIRuntime } from './ui.aspect';\nimport { UiMain } from './ui.main.runtime';\n\nimport { devConfig } from './webpack/webpack.dev.config';\n\nexport type UIServerProps = {\n graphql: GraphqlMain;\n express: ExpressMain;\n ui: UiMain;\n uiRoot: UIRoot;\n uiRootExtension: string;\n logger: Logger;\n publicDir: string;\n startPlugins: StartPlugin[];\n};\n\nexport type StartOptions = {\n /**\n * Absolute path to the ui bundle (generated during the bit build).\n */\n bundleUiRoot?: string;\n /**\n * port range for the UI server to bind. default is a port range of 4000-4200.\n */\n portRange?: number[] | number;\n};\n\nexport class UIServer {\n constructor(\n private graphql: GraphqlMain,\n private expressExtension: ExpressMain,\n private ui: UiMain,\n private uiRoot: UIRoot,\n private uiRootExtension: string,\n private logger: Logger,\n private publicDir: string,\n private plugins: StartPlugin[]\n ) {}\n\n getName() {\n return this.uiRoot.name;\n }\n\n private _port = 0;\n\n get port() {\n return this._port;\n }\n\n /** the hostname for the server to listen at. Currently statically 'localhost' */\n get host() {\n return 'localhost';\n }\n\n /** the server listens at this url */\n get fullUrl() {\n const port = this.port !== 80 ? `:${this.port}` : '';\n return `http://${this.host}${port}`;\n }\n\n get buildOptions() {\n return this.uiRoot.buildOptions;\n }\n\n /**\n * get the webpack configuration of the UI server.\n */\n async getDevConfig() {\n const aspects = await this.uiRoot.resolveAspects(UIRuntime.name);\n\n return devConfig(this.uiRoot.path, [await this.ui.generateRoot(aspects, this.uiRootExtension)], this.uiRoot.name);\n }\n\n private setReady: () => void;\n private startPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady() {\n return Promise.all([this.startPromise, ...this.plugins.map((x) => x?.whenReady)]);\n }\n\n /**\n * start a UI server.\n */\n async start({ bundleUiRoot, portRange }: StartOptions = {}) {\n const app = this.expressExtension.createApp();\n const publicDir = `/${this.publicDir}`;\n const defaultRoot = join(this.uiRoot.path, publicDir);\n const root = bundleUiRoot || defaultRoot;\n const server = await this.graphql.createServer({ app });\n\n // set up proxy, for things like preview, e.g. '/preview/teambit.react/react'\n await this.configureProxy(app, server);\n\n // pass through files from public /folder:\n // setting `index: false` so index.html will be served by the fallback() middleware\n app.use(express.static(root, { index: false }));\n\n const port = await Port.getPortFromRange(portRange || [3100, 3200]);\n\n await this.setupServerSideRendering({ root, port, app });\n\n // in any and all other cases, serve index.html.\n // No any other endpoints past this will execute\n app.use(fallback('index.html', { root }));\n\n server.listen(port);\n this._port = port;\n\n // important: we use the string of the following message for the http.e2e.ts. if you change the message,\n // please make sure you change the `HTTP_SERVER_READY_MSG` const.\n this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${port}`);\n\n this.setReady();\n }\n\n getPluginsComponents() {\n return this.plugins.map((plugin) => plugin.render);\n }\n\n private async setupServerSideRendering({ root, port, app }: { root: string; port: number; app: Express }) {\n if (!this.buildOptions?.ssr) return;\n\n const ssrMiddleware = await createSsrMiddleware({\n root,\n port,\n title: this.uiRoot.name,\n logger: this.logger,\n });\n\n if (!ssrMiddleware) {\n this.logger.warn('[ssr] middleware failed setup');\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n app.get('*', ssrMiddleware);\n this.logger.debug('[ssr] serving for \"*\"');\n }\n\n private async configureProxy(app: Express, server: Server) {\n const proxServer = httpProxy.createProxyServer();\n proxServer.on('error', (e) => this.logger.error(e.message));\n const proxyEntries = await this.getProxyFromPlugins();\n\n // TODO - should use https://github.com/chimurai/http-proxy-middleware\n server.on('upgrade', function (req, socket, head) {\n const entry = proxyEntries.find((proxy) =>\n proxy.context.some((item) => item === stripTrailingChar(req.url, '/'))\n );\n if (!entry) return;\n proxServer.ws(req, socket, head, {\n target: entry.target,\n });\n });\n\n proxyEntries.forEach((entry) => {\n entry.context.forEach((route) => {\n app.use(`${route}/*`, (req, res) => {\n req.url = req.originalUrl;\n proxServer.web(req, res, entry);\n });\n });\n });\n }\n\n /**\n * start a UI dev server.\n */\n async dev({ portRange }: StartOptions = {}) {\n const devServerPort = await this.selectPort(portRange);\n await this.start({ portRange: [4100, 4200] });\n const expressAppPort = this._port;\n\n const config = await this.getDevConfig();\n const compiler = webpack(config);\n const devServerConfig = await this.getDevServerConfig(devServerPort, expressAppPort, config.devServer);\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const devServer = new WebpackDevServer(devServerConfig, compiler);\n\n await devServer.start();\n this._port = devServerPort;\n return devServer;\n }\n\n private async selectPort(portRange?: number[] | number) {\n return Port.getPortFromRange(portRange || [3100, 3200]);\n }\n\n private async getProxyFromPlugins(): Promise<ProxyEntry[]> {\n const proxiesByPlugin = this.plugins.map((plugin) => {\n return plugin.getProxy ? plugin.getProxy() : [];\n });\n\n return flatten(await Promise.all(proxiesByPlugin));\n }\n\n private async getProxy(port = 4000) {\n const proxyEntries = await this.getProxyFromPlugins();\n\n const gqlProxies: ProxyEntry[] = [\n {\n context: ['/graphql', '/api'],\n target: `http://${this.host}:${port}`,\n changeOrigin: true,\n },\n {\n context: ['/subscriptions'],\n target: `ws://${this.host}:${port}`,\n ws: true,\n },\n ];\n\n return gqlProxies.concat(proxyEntries);\n }\n\n private async getDevServerConfig(\n appPort: number,\n gqlPort: number,\n config?: WdsConfiguration\n ): Promise<WdsConfiguration> {\n const proxy = await this.getProxy(gqlPort);\n const devServerConf = { ...config, proxy, port: appPort };\n\n return devServerConf;\n }\n\n static create(props: UIServerProps) {\n return new UIServer(\n props.graphql,\n props.express,\n props.ui,\n props.uiRoot,\n props.uiRootExtension,\n props.logger,\n props.publicDir,\n props.startPlugins\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","data","require","_express","_interopRequireDefault","_expressHistoryApiFallback","_toolboxNetwork","_utils","_httpProxy","_path","_webpack","_webpackDevServer","_ssrMiddleware","_ui","_webpackDev","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","UIServer","constructor","graphql","expressExtension","ui","uiRoot","uiRootExtension","logger","publicDir","plugins","Promise","resolve","setReady","getName","name","port","_port","host","fullUrl","buildOptions","getDevConfig","aspects","resolveAspects","UIRuntime","devConfig","path","generateRoot","whenReady","all","startPromise","map","x","start","bundleUiRoot","portRange","app","createApp","defaultRoot","join","root","server","createServer","configureProxy","use","express","static","index","Port","getPortFromRange","setupServerSideRendering","fallback","listen","info","getPluginsComponents","plugin","render","_this$buildOptions","ssr","ssrMiddleware","createSsrMiddleware","title","warn","get","debug","proxServer","httpProxy","createProxyServer","on","e","error","message","proxyEntries","getProxyFromPlugins","req","socket","head","entry","find","proxy","context","some","item","stripTrailingChar","url","ws","route","res","originalUrl","web","dev","devServerPort","selectPort","expressAppPort","config","compiler","webpack","devServerConfig","getDevServerConfig","devServer","WebpackDevServer","proxiesByPlugin","getProxy","flatten","gqlProxies","changeOrigin","concat","appPort","gqlPort","devServerConf","create","props","startPlugins","exports"],"sources":["ui-server.ts"],"sourcesContent":["import { flatten } from 'lodash';\nimport { ExpressMain } from '@teambit/express';\nimport { GraphqlMain } from '@teambit/graphql';\nimport { Logger } from '@teambit/logger';\nimport express, { Express } from 'express';\nimport fallback from 'express-history-api-fallback';\nimport { Port } from '@teambit/toolbox.network.get-port';\nimport { stripTrailingChar } from '@teambit/legacy/dist/utils';\nimport { Server } from 'http';\nimport httpProxy from 'http-proxy';\nimport { join } from 'path';\nimport webpack from 'webpack';\nimport WebpackDevServer, { Configuration as WdsConfiguration } from 'webpack-dev-server';\nimport { createSsrMiddleware } from './ssr-middleware';\nimport { StartPlugin } from './start-plugin';\nimport { ProxyEntry, UIRoot } from './ui-root';\nimport { UIRuntime } from './ui.aspect';\nimport { UiMain } from './ui.main.runtime';\n\nimport { devConfig } from './webpack/webpack.dev.config';\n\nexport type UIServerProps = {\n graphql: GraphqlMain;\n express: ExpressMain;\n ui: UiMain;\n uiRoot: UIRoot;\n uiRootExtension: string;\n logger: Logger;\n publicDir: string;\n startPlugins: StartPlugin[];\n};\n\nexport type StartOptions = {\n /**\n * Absolute path to the ui bundle (generated during the bit build).\n */\n bundleUiRoot?: string;\n /**\n * port range for the UI server to bind. default is a port range of 4000-4200.\n */\n portRange?: number[] | number;\n};\n\nexport class UIServer {\n constructor(\n private graphql: GraphqlMain,\n private expressExtension: ExpressMain,\n private ui: UiMain,\n private uiRoot: UIRoot,\n private uiRootExtension: string,\n private logger: Logger,\n private publicDir: string,\n private plugins: StartPlugin[]\n ) {}\n\n getName() {\n return this.uiRoot.name;\n }\n\n private _port = 0;\n\n get port() {\n return this._port;\n }\n\n /** the hostname for the server to listen at. Currently statically 'localhost' */\n get host() {\n return 'localhost';\n }\n\n /** the server listens at this url */\n get fullUrl() {\n const port = this.port !== 80 ? `:${this.port}` : '';\n return `http://${this.host}${port}`;\n }\n\n get buildOptions() {\n return this.uiRoot.buildOptions;\n }\n\n /**\n * get the webpack configuration of the UI server.\n */\n async getDevConfig() {\n const aspects = await this.uiRoot.resolveAspects(UIRuntime.name);\n\n return devConfig(this.uiRoot.path, [await this.ui.generateRoot(aspects, this.uiRootExtension)], this.uiRoot.name);\n }\n\n private setReady: () => void;\n private startPromise = new Promise<void>((resolve) => (this.setReady = resolve));\n get whenReady() {\n return Promise.all([this.startPromise, ...this.plugins.map((x) => x?.whenReady)]);\n }\n\n /**\n * start a UI server.\n */\n async start({ bundleUiRoot, portRange }: StartOptions = {}) {\n const app = this.expressExtension.createApp();\n const publicDir = `/${this.publicDir}`;\n const defaultRoot = join(this.uiRoot.path, publicDir);\n const root = bundleUiRoot || defaultRoot;\n const server = await this.graphql.createServer({ app });\n\n // set up proxy, for things like preview, e.g. '/preview/teambit.react/react'\n await this.configureProxy(app, server);\n\n // pass through files from public /folder:\n // setting `index: false` so index.html will be served by the fallback() middleware\n app.use(express.static(root, { index: false }));\n\n const port = await Port.getPortFromRange(portRange || [3100, 3200]);\n\n await this.setupServerSideRendering({ root, port, app });\n\n // in any and all other cases, serve index.html.\n // No any other endpoints past this will execute\n app.use(fallback('index.html', { root }));\n\n server.listen(port);\n this._port = port;\n\n // important: we use the string of the following message for the http.e2e.ts. if you change the message,\n // please make sure you change the `HTTP_SERVER_READY_MSG` const.\n this.logger.info(`UI server of ${this.uiRootExtension} is listening to port ${port}`);\n\n this.setReady();\n }\n\n getPluginsComponents() {\n return this.plugins.map((plugin) => plugin.render);\n }\n\n private async setupServerSideRendering({ root, port, app }: { root: string; port: number; app: Express }) {\n if (!this.buildOptions?.ssr) return;\n\n const ssrMiddleware = await createSsrMiddleware({\n root,\n port,\n title: this.uiRoot.name,\n logger: this.logger,\n });\n\n if (!ssrMiddleware) {\n this.logger.warn('[ssr] middleware failed setup');\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n app.get('*', ssrMiddleware);\n this.logger.debug('[ssr] serving for \"*\"');\n }\n\n private async configureProxy(app: Express, server: Server) {\n const proxServer = httpProxy.createProxyServer();\n proxServer.on('error', (e) => this.logger.error(e.message));\n const proxyEntries = await this.getProxyFromPlugins();\n\n // TODO - should use https://github.com/chimurai/http-proxy-middleware\n server.on('upgrade', function (req, socket, head) {\n const entry = proxyEntries.find((proxy) =>\n proxy.context.some((item) => item === stripTrailingChar(req.url, '/'))\n );\n if (!entry) return;\n proxServer.ws(req, socket, head, {\n target: entry.target,\n });\n });\n\n proxyEntries.forEach((entry) => {\n entry.context.forEach((route) => {\n app.use(`${route}/*`, (req, res) => {\n req.url = req.originalUrl;\n proxServer.web(req, res, entry);\n });\n });\n });\n }\n\n /**\n * start a UI dev server.\n */\n async dev({ portRange }: StartOptions = {}) {\n const devServerPort = await this.selectPort(portRange);\n await this.start({ portRange: [4100, 4200] });\n const expressAppPort = this._port;\n\n const config = await this.getDevConfig();\n const compiler = webpack(config);\n const devServerConfig = await this.getDevServerConfig(devServerPort, expressAppPort, config.devServer);\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const devServer = new WebpackDevServer(devServerConfig, compiler);\n\n await devServer.start();\n this._port = devServerPort;\n return devServer;\n }\n\n private async selectPort(portRange?: number[] | number) {\n return Port.getPortFromRange(portRange || [3100, 3200]);\n }\n\n private async getProxyFromPlugins(): Promise<ProxyEntry[]> {\n const proxiesByPlugin = this.plugins.map((plugin) => {\n return plugin.getProxy ? plugin.getProxy() : [];\n });\n\n return flatten(await Promise.all(proxiesByPlugin));\n }\n\n private async getProxy(port = 4000) {\n const proxyEntries = await this.getProxyFromPlugins();\n\n const gqlProxies: ProxyEntry[] = [\n {\n context: ['/graphql', '/api'],\n target: `http://${this.host}:${port}`,\n changeOrigin: true,\n },\n {\n context: ['/subscriptions'],\n target: `ws://${this.host}:${port}`,\n ws: true,\n },\n ];\n\n return gqlProxies.concat(proxyEntries);\n }\n\n private async getDevServerConfig(\n appPort: number,\n gqlPort: number,\n config?: WdsConfiguration\n ): Promise<WdsConfiguration> {\n const proxy = await this.getProxy(gqlPort);\n const devServerConf = { ...config, proxy, port: appPort };\n\n return devServerConf;\n }\n\n static create(props: UIServerProps) {\n return new UIServer(\n props.graphql,\n props.express,\n props.ui,\n props.uiRoot,\n props.uiRootExtension,\n props.logger,\n props.publicDir,\n props.startPlugins\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["UIRuntime","RuntimeDefinition","UIAspect","Aspect","create","id","declareRuntime"],"sources":["ui.aspect.ts"],"sourcesContent":["import { Aspect, RuntimeDefinition } from '@teambit/harmony';\n\nexport const UIRuntime = new RuntimeDefinition('ui');\n\nexport const UIAspect = Aspect.create({\n id: 'teambit.ui-foundation/ui',\n declareRuntime: UIRuntime,\n});\n\nexport default UIAspect;\n"],"mappings":";;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,SAAS,GAAG,KAAIC,4BAAiB,EAAC,IAAI,CAAC;AAAC;AAE9C,MAAMC,QAAQ,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACpCC,EAAE,EAAE,0BAA0B;EAC9BC,cAAc,EAAEN;AAClB,CAAC,CAAC;AAAC;AAAA,eAEYE,QAAQ;AAAA"}
1
+ {"version":3,"names":["_harmony","data","require","UIRuntime","RuntimeDefinition","exports","UIAspect","Aspect","create","id","declareRuntime","_default","default"],"sources":["ui.aspect.ts"],"sourcesContent":["import { Aspect, RuntimeDefinition } from '@teambit/harmony';\n\nexport const UIRuntime = new RuntimeDefinition('ui');\n\nexport const UIAspect = Aspect.create({\n id: 'teambit.ui-foundation/ui',\n declareRuntime: UIRuntime,\n});\n\nexport default UIAspect;\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,SAAS,GAAG,KAAIC,4BAAiB,EAAC,IAAI,CAAC;AAACC,OAAA,CAAAF,SAAA,GAAAA,SAAA;AAE9C,MAAMG,QAAQ,GAAGC,iBAAM,CAACC,MAAM,CAAC;EACpCC,EAAE,EAAE,0BAA0B;EAC9BC,cAAc,EAAEP;AAClB,CAAC,CAAC;AAACE,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAAA,IAAAK,QAAA,GAEYL,QAAQ;AAAAD,OAAA,CAAAO,OAAA,GAAAD,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["ui.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/ui.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAE;EAAC,GAAG,EAAC;AAAgD,EAAG,CAErF;AAAC"}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","Logo","default","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["ui.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/ui.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAMG,IAAI,GAAGA,CAAA,kBAClBJ,MAAA,GAAAK,OAAA,CAAAC,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEV,MAAA,GAAAK,OAAA,CAAAC,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAAgD,CAAE,CAC9E,CACN;AAACC,OAAA,CAAAT,IAAA,GAAAA,IAAA"}
@@ -272,6 +272,9 @@ class UiMain {
272
272
  this.harmony = harmony;
273
273
  this.startPluginSlot = startPluginSlot;
274
274
  (0, _defineProperty2().default)(this, "_isBundleUiServed", false);
275
+ /**
276
+ * Events
277
+ */
275
278
  (0, _defineProperty2().default)(this, "createUiServerStartedEvent", (targetHost, targetPort, uiRoot) => {
276
279
  return new (_events().UiServerStartedEvent)(Date.now(), targetHost, targetPort, uiRoot);
277
280
  });
@@ -398,11 +401,6 @@ class UiMain {
398
401
  if (port) return port;
399
402
  return this.config.port || this.selectPort();
400
403
  }
401
-
402
- /**
403
- * Events
404
- */
405
-
406
404
  /**
407
405
  * pre-start events are triggered and *completed* before the webserver started.
408
406
  * (the promise is awaited)