@teambit/ui 0.0.1095 → 0.0.1097

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.
@@ -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: merge 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: merge 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"`)}}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,[250],(()=>{return t=36422,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: merge 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: merge 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"`)}}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,[303],(()=>{return t=47829,e(e.s=t);var t}));e.O()}]);
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1095/dist/ui.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1095/dist/ui.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1097/dist/ui.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.ui-foundation_ui@0.0.1097/dist/ui.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/ui-server.js CHANGED
@@ -42,6 +42,13 @@ function _toolboxNetwork() {
42
42
  };
43
43
  return data;
44
44
  }
45
+ function _utils() {
46
+ const data = require("@teambit/legacy/dist/utils");
47
+ _utils = function () {
48
+ return data;
49
+ };
50
+ return data;
51
+ }
45
52
  function _httpProxy() {
46
53
  const data = _interopRequireDefault(require("http-proxy"));
47
54
  _httpProxy = function () {
@@ -214,7 +221,7 @@ class UIServer {
214
221
 
215
222
  // TODO - should use https://github.com/chimurai/http-proxy-middleware
216
223
  server.on('upgrade', function (req, socket, head) {
217
- const entry = proxyEntries.find(proxy => proxy.context.some(item => item === req.url));
224
+ const entry = proxyEntries.find(proxy => proxy.context.some(item => item === (0, _utils().stripTrailingChar)(req.url, '/')));
218
225
  if (!entry) return;
219
226
  proxServer.ws(req, socket, head, {
220
227
  target: entry.target
@@ -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","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 { 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) => proxy.context.some((item) => item === req.url));\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":["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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/ui",
3
- "version": "0.0.1095",
3
+ "version": "0.0.1097",
4
4
  "homepage": "https://bit.cloud/teambit/ui-foundation/ui",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.ui-foundation",
8
8
  "name": "ui",
9
- "version": "0.0.1095"
9
+ "version": "0.0.1097"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -53,29 +53,29 @@
53
53
  "@teambit/design.theme.icons-font": "2.0.26",
54
54
  "@teambit/design.themes.theme-toggler": "0.1.3",
55
55
  "@teambit/design.ui.tooltip": "0.0.361",
56
- "@teambit/builder": "0.0.1095",
57
- "@teambit/isolator": "0.0.1095",
58
- "@teambit/logger": "0.0.828",
59
- "@teambit/aspect-loader": "0.0.1095",
56
+ "@teambit/builder": "0.0.1097",
57
+ "@teambit/isolator": "0.0.1097",
58
+ "@teambit/logger": "0.0.829",
59
+ "@teambit/aspect-loader": "0.0.1097",
60
60
  "@teambit/toolbox.path.to-windows-compatible-path": "0.0.490",
61
61
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
62
62
  "@teambit/bit-error": "0.0.402",
63
- "@teambit/cli": "0.0.735",
63
+ "@teambit/cli": "0.0.736",
64
64
  "@teambit/ui-foundation.cli.ui-server-console": "0.0.499",
65
- "@teambit/bundler": "0.0.1095",
66
- "@teambit/component": "0.0.1095",
67
- "@teambit/express": "0.0.833",
68
- "@teambit/graphql": "0.0.1095",
65
+ "@teambit/bundler": "0.0.1097",
66
+ "@teambit/component": "0.0.1097",
67
+ "@teambit/express": "0.0.834",
68
+ "@teambit/graphql": "0.0.1097",
69
69
  "@teambit/toolbox.network.get-port": "0.0.121",
70
- "@teambit/aspect": "0.0.1095",
71
- "@teambit/cache": "0.0.828",
72
- "@teambit/pubsub": "0.0.1095",
73
- "@teambit/react-router": "0.0.1095",
70
+ "@teambit/aspect": "0.0.1097",
71
+ "@teambit/cache": "0.0.829",
72
+ "@teambit/pubsub": "0.0.1097",
73
+ "@teambit/react-router": "0.0.1097",
74
74
  "@teambit/ui-foundation.ui.hooks.use-user-agent": "0.0.189",
75
75
  "@teambit/ui-foundation.ui.global-loader": "0.0.497",
76
76
  "@teambit/webpack.modules.generate-style-loaders": "0.0.110",
77
77
  "@teambit/webpack.modules.style-regexps": "0.0.139",
78
- "@teambit/webpack": "0.0.1095"
78
+ "@teambit/webpack": "0.0.1097"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@types/lodash": "4.14.165",
@@ -96,7 +96,7 @@
96
96
  "peerDependencies": {
97
97
  "@apollo/client": "^3.6.0",
98
98
  "react-router-dom": "^6.0.0",
99
- "@teambit/legacy": "1.0.516",
99
+ "@teambit/legacy": "1.0.517",
100
100
  "react": "^16.8.0 || ^17.0.0",
101
101
  "react-dom": "^16.8.0 || ^17.0.0"
102
102
  },
Binary file