@teambit/component-compare 1.0.111 → 1.0.112

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
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/component-compare-preview"]=t():e["teambit.component/component-compare-preview"]=t()}(self,(()=>(()=>{"use strict";var e={61198:(e,t,o)=>{var n={id:"teambit.component/component-compare@1.0.111",homepage:"https://bit.cloud/teambit/component/component-compare",exported:!0};function r(){const e=a(o(87363));return r=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,a.__bit_component=n;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/bit-icons/compare.svg"}));i.__bit_component=n,t.Logo=i},87363:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>d,compositions_metadata:()=>u,overview:()=>l});var e={};o.r(e),o.d(e,{default:()=>s});var t=o(61198);o(87363);const r=MdxJsReact,a=TeambitMdxUiMdxScopeContext;var i=["components"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},p.apply(this,arguments)}var c={},m="wrapper";function s(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,i);return(0,r.mdx)(m,p({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(a.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://bit.cloud/blog/introducing-a-new-feature-component-compare-l4qyxtoo?baseVersion=0.0.5"},"Introducing Component Compare")),(0,r.mdx)("p",null,"Component Compare allows users to compare two component versions. It provides a unified view of all the following differences,"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Code: Modifications made to the source code of the component."),(0,r.mdx)("li",{parentName:"ul"},"Composition: Changes made to how the component looks visually."),(0,r.mdx)("li",{parentName:"ul"},"Tests: Changes made to how the component is tested."),(0,r.mdx)("li",{parentName:"ul"},"Dependencies: Changes made to the component's dependency graph."),(0,r.mdx)("li",{parentName:"ul"},"Overview: Changes to the auto-generated documentation for the component."),(0,r.mdx)("li",{parentName:"ul"},"Aspects: Changes made to the extensions for the component."),(0,r.mdx)("li",{parentName:"ul"},"Changelog: Changes exported between the two selected versions"))))}s.isMDXComponent=!0;const d=[t],l=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["teambit.component/component-compare-preview"]=t():e["teambit.component/component-compare-preview"]=t()}(self,(()=>(()=>{"use strict";var e={12097:(e,t,o)=>{var n={id:"teambit.component/component-compare@1.0.112",homepage:"https://bit.cloud/teambit/component/component-compare",exported:!0};function r(){const e=a(o(87363));return r=function(){return e},e}function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Logo=void 0,r.__bit_component=n,a.__bit_component=n;const i=()=>r().default.createElement("div",{style:{height:"100%",display:"flex",justifyContent:"center"}},r().default.createElement("img",{style:{width:70},src:"https://static.bit.dev/bit-icons/compare.svg"}));i.__bit_component=n,t.Logo=i},87363:e=>{e.exports=React}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.exports}o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{o.r(n),o.d(n,{compositions:()=>d,compositions_metadata:()=>u,overview:()=>l});var e={};o.r(e),o.d(e,{default:()=>s});var t=o(12097);o(87363);const r=MdxJsReact,a=TeambitMdxUiMdxScopeContext;var i=["components"];function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},p.apply(this,arguments)}var c={},m="wrapper";function s(e){var t=e.components,o=function(e,t){if(null==e)return{};var o,n,r=function(e,t){if(null==e)return{};var o,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)o=a[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}(e,i);return(0,r.mdx)(m,p({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.mdx)(a.MDXScopeProvider,{components:{},mdxType:"MDXScopeProvider"},(0,r.mdx)("p",null,(0,r.mdx)("a",{parentName:"p",href:"https://bit.cloud/blog/introducing-a-new-feature-component-compare-l4qyxtoo?baseVersion=0.0.5"},"Introducing Component Compare")),(0,r.mdx)("p",null,"Component Compare allows users to compare two component versions. It provides a unified view of all the following differences,"),(0,r.mdx)("ul",null,(0,r.mdx)("li",{parentName:"ul"},"Code: Modifications made to the source code of the component."),(0,r.mdx)("li",{parentName:"ul"},"Composition: Changes made to how the component looks visually."),(0,r.mdx)("li",{parentName:"ul"},"Tests: Changes made to how the component is tested."),(0,r.mdx)("li",{parentName:"ul"},"Dependencies: Changes made to the component's dependency graph."),(0,r.mdx)("li",{parentName:"ul"},"Overview: Changes to the auto-generated documentation for the component."),(0,r.mdx)("li",{parentName:"ul"},"Aspects: Changes made to the extensions for the component."),(0,r.mdx)("li",{parentName:"ul"},"Changelog: Changes exported between the two selected versions"))))}s.isMDXComponent=!0;const d=[t],l=[e],u={compositions:[{displayName:"Logo",identifier:"Logo"}]}})(),n})()));
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';
3
2
  import { ChangeType } from '@teambit/component.ui.component-compare.models.component-compare-change-type';
4
3
  import { Section } from '@teambit/component';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Section } from '@teambit/component';
3
2
  import { TabItem } from '@teambit/component.ui.component-compare.models.component-compare-props';
4
3
  import { ComponentCompareUI } from './component-compare.ui.runtime';
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const Logo: () => JSX.Element;
@@ -186,7 +186,7 @@ class ComponentCompareMain {
186
186
  toVersion
187
187
  } = await this.parseValues(values);
188
188
  if (!bitIds || !bitIds.length) {
189
- throw new (_bitError().BitError)('there are no modified components to diff');
189
+ return [];
190
190
  }
191
191
  const diffResults = await this.componentsDiff(bitIds, version, toVersion, {
192
192
  verbose,
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_bitError","_workspace","_componentId","_componentsList","_interopRequireDefault","_hasWildcard","_scope","_graphql","_builder","_generalError","_dependencyResolver","_logger","_componentsDiff","_componentsObjectDiff","_tester","_component","_componentCompare","_componentCompare2","_diffCmd","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentCompareMain","constructor","componentAspect","scope","logger","tester","depResolver","workspace","compare","baseIdStr","compareIdStr","host","getHost","baseCompId","compareCompId","resolveMultipleComponentIds","modelComponent","legacyScope","getModelComponentIfExist","GeneralError","toString","baseVersion","version","compareVersion","repository","objects","baseVersionObject","loadVersion","compareVersionObject","diff","diffBetweenVersionsObjects","baseComponent","get","compareComponent","baseTestFiles","getTestFiles","map","file","relative","compareTestFiles","allTestFiles","testFilesDiff","filesDiff","filter","fileDiff","includes","filePath","status","compareResult","id","code","fields","fieldsDiff","tests","diffByCLIValues","values","verbose","table","OutsideWorkspaceError","consumer","bitIds","toVersion","parseValues","length","BitError","diffResults","componentsDiff","formatDepsAsTable","onDestroy","getConfigForDiffById","componentId","resolveComponentId","component","Error","getConfigForDiffByCompObject","depData","getDependencies","serializedToString","dep","idWithoutVersion","__type","split","lifecycle","source","serializeAndSort","deps","serialized","serialize","sort","serializeAspect","comp","aspects","state","withoutEntries","BuilderAspect","DependencyResolverAspect","toLegacy","sortById","toConfigObject","dependencies","ids","diffOpts","components","getMany","getResults","Promise","all","getComponentDiffBetweenVersions","getComponentDiffOfVersion","getComponentDiff","componentsDiffResults","consumerComponent","_consumer","diffResult","hasDiff","fromVersionObject","versionFiles","modelFilesToSourceFiles","fsFiles","files","versionB","getFilesDiff","fromVersionComponent","toConsumerComponent","name","updateFieldsDiff","toVersionObject","fromVersionFiles","toVersionFiles","toVersionComponent","componentFromModel","modelFiles","fromVersion","toComponentId","color","undefined","hash","componentIds","listTagPendingIds","firstValue","lastValue","oneBeforeLastValue","isLastItemVersion","ComponentID","isValidVersion","isOneBeforeLastItemVersion","getBitIdsForDiff","hasWildcard","componentsList","ComponentsList","listComponentsByIdsWithWildcard","getParsedId","provider","graphql","loggerMain","cli","createLogger","ComponentCompareAspect","componentCompareMain","register","DiffCmd","componentCompareSchema","exports","GraphqlAspect","ComponentAspect","ScopeAspect","LoggerAspect","CLIAspect","WorkspaceAspect","TesterAspect","MainRuntime","find","diffOutput","componentA","componentB","diffBetweenComponentsObjects","addRuntime","_default"],"sources":["component-compare.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport BuilderAspect from '@teambit/builder';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport DependencyResolverAspect, {\n DependencyList,\n DependencyResolverMain,\n SerializedDependency,\n} from '@teambit/dependency-resolver';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport {\n DiffOptions,\n DiffResults,\n FieldsDiff,\n FileDiff,\n getFilesDiff,\n} from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { diffBetweenComponentsObjects } from '@teambit/legacy/dist/consumer/component-ops/components-object-diff';\nimport { TesterMain, TesterAspect } from '@teambit/tester';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { componentCompareSchema } from './component-compare.graphql';\nimport { ComponentCompareAspect } from './component-compare.aspect';\nimport { DiffCmd } from './diff-cmd';\n\nexport type ComponentCompareResult = {\n id: string;\n code: FileDiff[];\n fields: FieldsDiff[];\n tests: FileDiff[];\n};\n\ntype ConfigDiff = {\n version?: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n};\n\nexport class ComponentCompareMain {\n constructor(\n private componentAspect: ComponentMain,\n private scope: ScopeMain,\n private logger: Logger,\n private tester: TesterMain,\n private depResolver: DependencyResolverMain,\n private workspace?: Workspace\n ) {}\n\n async compare(baseIdStr: string, compareIdStr: string): Promise<ComponentCompareResult> {\n const host = this.componentAspect.getHost();\n const [baseCompId, compareCompId] = await host.resolveMultipleComponentIds([baseIdStr, compareIdStr]);\n const modelComponent = await this.scope.legacyScope.getModelComponentIfExist(compareCompId);\n\n if (!modelComponent) {\n throw new GeneralError(`component ${compareCompId.toString()} doesn't have any version yet`);\n }\n\n const baseVersion = baseCompId.version as string;\n const compareVersion = compareCompId.version as string;\n\n const repository = this.scope.legacyScope.objects;\n const baseVersionObject = await modelComponent.loadVersion(baseVersion, repository);\n const compareVersionObject = await modelComponent.loadVersion(compareVersion, repository);\n\n const diff: DiffResults = await this.diffBetweenVersionsObjects(\n modelComponent,\n baseVersionObject,\n compareVersionObject,\n baseVersion,\n compareVersion,\n {}\n );\n\n const baseComponent = await host.get(baseCompId);\n const compareComponent = await host.get(compareCompId);\n\n const baseTestFiles =\n (baseComponent && (await this.tester.getTestFiles(baseComponent).map((file) => file.relative))) || [];\n const compareTestFiles =\n (compareComponent && (await this.tester.getTestFiles(compareComponent).map((file) => file.relative))) || [];\n\n const allTestFiles = [...baseTestFiles, ...compareTestFiles];\n\n const testFilesDiff = (diff.filesDiff || []).filter(\n (fileDiff: FileDiff) => allTestFiles.includes(fileDiff.filePath) && fileDiff.status !== 'UNCHANGED'\n );\n\n const compareResult = {\n id: `${baseCompId}-${compareCompId}`,\n code: diff.filesDiff || [],\n fields: diff.fieldsDiff || [],\n tests: testFilesDiff,\n };\n\n return compareResult;\n }\n\n async diffByCLIValues(values: string[], verbose: boolean, table: boolean): Promise<any> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const { bitIds, version, toVersion } = await this.parseValues(values);\n if (!bitIds || !bitIds.length) {\n throw new BitError('there are no modified components to diff');\n }\n const diffResults = await this.componentsDiff(bitIds, version, toVersion, {\n verbose,\n formatDepsAsTable: table,\n });\n await consumer.onDestroy('diff');\n return diffResults;\n }\n\n async getConfigForDiffById(id: string): Promise<ConfigDiff> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.resolveComponentId(id);\n const component = await workspace.scope.get(componentId, false);\n if (!component) throw new Error(`getConfigForDiff: unable to find component ${id} in local scope`);\n return this.getConfigForDiffByCompObject(component);\n }\n\n async getConfigForDiffByCompObject(component: Component) {\n const depData = await this.depResolver.getDependencies(component);\n const serializedToString = (dep: SerializedDependency) => {\n const idWithoutVersion = dep.__type === 'package' ? dep.id : dep.id.split('@')[0];\n return `${idWithoutVersion}@${dep.version} (${dep.lifecycle}) ${dep.source ? `(${dep.source})` : ''}`;\n };\n const serializeAndSort = (deps: DependencyList) => {\n const serialized = deps.serialize().map(serializedToString);\n return serialized.sort();\n };\n const serializeAspect = (comp: Component) => {\n const aspects = comp.state.aspects.withoutEntries([BuilderAspect.id, DependencyResolverAspect.id]);\n // return aspects.serialize();\n return aspects.toLegacy().sortById().toConfigObject();\n };\n return {\n version: component.id.version,\n dependencies: serializeAndSort(depData),\n aspects: serializeAspect(component),\n };\n }\n\n private async componentsDiff(\n ids: ComponentID[],\n version: string | null | undefined,\n toVersion: string | null | undefined,\n diffOpts: DiffOptions\n ): Promise<DiffResults[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace?.consumer;\n const components = await this.workspace.getMany(ids);\n if (!components.length) throw new BitError('failed loading the components');\n\n const getResults = (): Promise<DiffResults[]> => {\n if (version && toVersion) {\n return Promise.all(ids.map((id) => getComponentDiffBetweenVersions(id)));\n }\n if (version) {\n return Promise.all(components.map((component) => getComponentDiffOfVersion(component)));\n }\n return Promise.all(components.map((component) => getComponentDiff(component)));\n };\n const componentsDiffResults = await getResults();\n return componentsDiffResults;\n\n async function getComponentDiffOfVersion(component: Component): Promise<DiffResults> {\n if (!version) throw new Error('getComponentDiffOfVersion expects to get version');\n const consumerComponent = component.state._consumer as ConsumerComponent;\n const diffResult: DiffResults = { id: component.id, hasDiff: false };\n const modelComponent = await consumer.scope.getModelComponentIfExist(component.id);\n if (!modelComponent) {\n throw new GeneralError(`component ${component.id.toString()} doesn't have any version yet`);\n }\n const repository = consumer.scope.objects;\n const fromVersionObject: Version = await modelComponent.loadVersion(version, repository);\n const versionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const fsFiles = consumerComponent.files;\n // version must be defined as the component.componentFromModel do exist\n const versionB: string = component.id.version;\n // this function gets called only when version is set\n diffResult.filesDiff = await getFilesDiff(versionFiles, fsFiles, version, versionB);\n const fromVersionComponent = await modelComponent.toConsumerComponent(version, consumer.scope.name, repository);\n await updateFieldsDiff(fromVersionComponent, consumerComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n\n async function getComponentDiffBetweenVersions(id: ComponentID): Promise<DiffResults> {\n if (!version || !toVersion)\n throw new Error('getComponentDiffBetweenVersions expects to get version and toVersion');\n const diffResult: DiffResults = { id, hasDiff: false };\n const modelComponent = await consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) {\n throw new GeneralError(`component ${id.toString()} doesn't have any version yet`);\n }\n const repository = consumer.scope.objects;\n\n const fromVersionObject: Version = await modelComponent.loadVersion(version, repository);\n const toVersionObject: Version = await modelComponent.loadVersion(toVersion, repository);\n const fromVersionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const toVersionFiles = await toVersionObject.modelFilesToSourceFiles(repository);\n diffResult.filesDiff = await getFilesDiff(fromVersionFiles, toVersionFiles, version, toVersion);\n const fromVersionComponent = await modelComponent.toConsumerComponent(version, consumer.scope.name, repository);\n const toVersionComponent = await modelComponent.toConsumerComponent(toVersion, consumer.scope.name, repository);\n await updateFieldsDiff(fromVersionComponent, toVersionComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n\n async function getComponentDiff(component: Component): Promise<DiffResults> {\n const diffResult = { id: component.id, hasDiff: false };\n const consumerComponent = component.state._consumer as ConsumerComponent;\n if (!consumerComponent.componentFromModel) {\n // it's a new component. not modified. show all files as new.\n const fsFiles = consumerComponent.files;\n // @ts-ignore version must be defined as the component.componentFromModel do exist\n diffResult.filesDiff = await getFilesDiff([], fsFiles, component.id.version, component.id.version);\n if (hasDiff(diffResult)) diffResult.hasDiff = true;\n return diffResult;\n }\n const modelFiles = consumerComponent.componentFromModel.files;\n const fsFiles = consumerComponent.files;\n // @ts-ignore version must be defined as the component.componentFromModel do exist\n diffResult.filesDiff = await getFilesDiff(modelFiles, fsFiles, component.id.version, component.id.version);\n await updateFieldsDiff(consumerComponent.componentFromModel, consumerComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n }\n\n async diffBetweenVersionsObjects(\n modelComponent: ModelComponent,\n fromVersionObject: Version,\n toVersionObject: Version,\n fromVersion: string,\n toVersion: string,\n diffOpts: DiffOptions\n ) {\n const diffResult: DiffResults = { id: modelComponent.toComponentId(), hasDiff: false };\n const scope = this.scope.legacyScope;\n const repository = scope.objects;\n const fromVersionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const toVersionFiles = await toVersionObject.modelFilesToSourceFiles(repository);\n const color = diffOpts.color ?? true;\n diffResult.filesDiff = await getFilesDiff(\n fromVersionFiles,\n toVersionFiles,\n fromVersion,\n toVersion,\n undefined,\n color\n );\n const fromVersionComponent = await modelComponent.toConsumerComponent(\n fromVersionObject.hash().toString(),\n scope.name,\n repository\n );\n const toVersionComponent = await modelComponent.toConsumerComponent(\n toVersionObject.hash().toString(),\n scope.name,\n repository\n );\n await updateFieldsDiff(fromVersionComponent, toVersionComponent, diffResult, diffOpts);\n return diffResult;\n }\n\n private async parseValues(\n values: string[]\n ): Promise<{ bitIds: ComponentID[]; version?: string; toVersion?: string }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n // option #1: bit diff\n // no arguments\n if (!values.length) {\n const componentIds = await this.workspace.listTagPendingIds();\n return { bitIds: componentIds.map((id) => id) };\n }\n const firstValue = values[0];\n const lastValue = values[values.length - 1];\n const oneBeforeLastValue = values[values.length - 2];\n const isLastItemVersion = ComponentID.isValidVersion(lastValue);\n const isOneBeforeLastItemVersion = ComponentID.isValidVersion(oneBeforeLastValue);\n // option #2: bit diff [ids...]\n // all arguments are ids\n if (!isLastItemVersion) {\n return { bitIds: this.getBitIdsForDiff(values) };\n }\n // option #3: bit diff [id] [version]\n // last argument is a version, first argument is id\n if (!isOneBeforeLastItemVersion) {\n if (values.length !== 2) {\n throw new BitError(\n `bit diff [id] [version] syntax was used, however, ${values.length} arguments were given instead of 2`\n );\n }\n return { bitIds: this.getBitIdsForDiff([firstValue]), version: lastValue };\n }\n // option #4: bit diff [id] [version] [to_version]\n // last argument and one before the last are versions, first argument is id\n if (values.length !== 3) {\n throw new BitError(\n `bit diff [id] [version] [to_version] syntax was used, however, ${values.length} arguments were given instead of 3`\n );\n }\n return { bitIds: this.getBitIdsForDiff([firstValue]), version: oneBeforeLastValue, toVersion: lastValue };\n }\n\n private getBitIdsForDiff(ids: string[]): ComponentID[] {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n if (hasWildcard(ids)) {\n const componentsList = new ComponentsList(consumer);\n return componentsList.listComponentsByIdsWithWildcard(ids);\n }\n return ids.map((id) => consumer.getParsedId(id));\n }\n\n static slots = [];\n static dependencies = [\n GraphqlAspect,\n ComponentAspect,\n ScopeAspect,\n LoggerAspect,\n CLIAspect,\n WorkspaceAspect,\n TesterAspect,\n DependencyResolverAspect,\n ];\n static runtime = MainRuntime;\n static async provider([graphql, component, scope, loggerMain, cli, workspace, tester, depResolver]: [\n GraphqlMain,\n ComponentMain,\n ScopeMain,\n LoggerMain,\n CLIMain,\n Workspace,\n TesterMain,\n DependencyResolverMain\n ]) {\n const logger = loggerMain.createLogger(ComponentCompareAspect.id);\n const componentCompareMain = new ComponentCompareMain(component, scope, logger, tester, depResolver, workspace);\n cli.register(new DiffCmd(componentCompareMain));\n graphql.register(componentCompareSchema(componentCompareMain));\n return componentCompareMain;\n }\n}\n\nfunction hasDiff(diffResult: DiffResults): boolean {\n return !!((diffResult.filesDiff && diffResult.filesDiff.find((file) => file.diffOutput)) || diffResult.fieldsDiff);\n}\n\nasync function updateFieldsDiff(\n componentA: ConsumerComponent,\n componentB: ConsumerComponent,\n diffResult: DiffResults,\n diffOpts: DiffOptions\n) {\n diffResult.fieldsDiff = await diffBetweenComponentsObjects(componentA, componentB, diffOpts);\n diffResult.hasDiff = hasDiff(diffResult);\n}\n\nComponentCompareAspect.addRuntime(ComponentCompareMain);\n\nexport default ComponentCompareMain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cli","data","require","_bitError","_workspace","_componentId","_componentsList","_interopRequireDefault","_hasWildcard","_scope","_graphql","_builder","_generalError","_dependencyResolver","_logger","_componentsDiff","_componentsObjectDiff","_tester","_component","_componentCompare","_componentCompare2","_diffCmd","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentCompareMain","constructor","componentAspect","scope","logger","tester","depResolver","workspace","compare","baseIdStr","compareIdStr","host","getHost","baseCompId","compareCompId","resolveMultipleComponentIds","modelComponent","legacyScope","getModelComponentIfExist","GeneralError","toString","baseVersion","version","compareVersion","repository","objects","baseVersionObject","loadVersion","compareVersionObject","diff","diffBetweenVersionsObjects","baseComponent","get","compareComponent","baseTestFiles","getTestFiles","map","file","relative","compareTestFiles","allTestFiles","testFilesDiff","filesDiff","filter","fileDiff","includes","filePath","status","compareResult","id","code","fields","fieldsDiff","tests","diffByCLIValues","values","verbose","table","OutsideWorkspaceError","consumer","bitIds","toVersion","parseValues","length","diffResults","componentsDiff","formatDepsAsTable","onDestroy","getConfigForDiffById","componentId","resolveComponentId","component","Error","getConfigForDiffByCompObject","depData","getDependencies","serializedToString","dep","idWithoutVersion","__type","split","lifecycle","source","serializeAndSort","deps","serialized","serialize","sort","serializeAspect","comp","aspects","state","withoutEntries","BuilderAspect","DependencyResolverAspect","toLegacy","sortById","toConfigObject","dependencies","ids","diffOpts","components","getMany","BitError","getResults","Promise","all","getComponentDiffBetweenVersions","getComponentDiffOfVersion","getComponentDiff","componentsDiffResults","consumerComponent","_consumer","diffResult","hasDiff","fromVersionObject","versionFiles","modelFilesToSourceFiles","fsFiles","files","versionB","getFilesDiff","fromVersionComponent","toConsumerComponent","name","updateFieldsDiff","toVersionObject","fromVersionFiles","toVersionFiles","toVersionComponent","componentFromModel","modelFiles","fromVersion","toComponentId","color","undefined","hash","componentIds","listTagPendingIds","firstValue","lastValue","oneBeforeLastValue","isLastItemVersion","ComponentID","isValidVersion","isOneBeforeLastItemVersion","getBitIdsForDiff","hasWildcard","componentsList","ComponentsList","listComponentsByIdsWithWildcard","getParsedId","provider","graphql","loggerMain","cli","createLogger","ComponentCompareAspect","componentCompareMain","register","DiffCmd","componentCompareSchema","exports","GraphqlAspect","ComponentAspect","ScopeAspect","LoggerAspect","CLIAspect","WorkspaceAspect","TesterAspect","MainRuntime","find","diffOutput","componentA","componentB","diffBetweenComponentsObjects","addRuntime","_default"],"sources":["component-compare.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { BitError } from '@teambit/bit-error';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentsList from '@teambit/legacy/dist/consumer/component/components-list';\nimport hasWildcard from '@teambit/legacy/dist/utils/string/has-wildcard';\nimport { ScopeMain, ScopeAspect } from '@teambit/scope';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport BuilderAspect from '@teambit/builder';\nimport GeneralError from '@teambit/legacy/dist/error/general-error';\nimport { ModelComponent, Version } from '@teambit/legacy/dist/scope/models';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport DependencyResolverAspect, {\n DependencyList,\n DependencyResolverMain,\n SerializedDependency,\n} from '@teambit/dependency-resolver';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport {\n DiffOptions,\n DiffResults,\n FieldsDiff,\n FileDiff,\n getFilesDiff,\n} from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { diffBetweenComponentsObjects } from '@teambit/legacy/dist/consumer/component-ops/components-object-diff';\nimport { TesterMain, TesterAspect } from '@teambit/tester';\nimport ComponentAspect, { Component, ComponentMain } from '@teambit/component';\nimport { componentCompareSchema } from './component-compare.graphql';\nimport { ComponentCompareAspect } from './component-compare.aspect';\nimport { DiffCmd } from './diff-cmd';\n\nexport type ComponentCompareResult = {\n id: string;\n code: FileDiff[];\n fields: FieldsDiff[];\n tests: FileDiff[];\n};\n\ntype ConfigDiff = {\n version?: string;\n dependencies?: string[];\n aspects?: Record<string, any>;\n};\n\nexport class ComponentCompareMain {\n constructor(\n private componentAspect: ComponentMain,\n private scope: ScopeMain,\n private logger: Logger,\n private tester: TesterMain,\n private depResolver: DependencyResolverMain,\n private workspace?: Workspace\n ) {}\n\n async compare(baseIdStr: string, compareIdStr: string): Promise<ComponentCompareResult> {\n const host = this.componentAspect.getHost();\n const [baseCompId, compareCompId] = await host.resolveMultipleComponentIds([baseIdStr, compareIdStr]);\n const modelComponent = await this.scope.legacyScope.getModelComponentIfExist(compareCompId);\n\n if (!modelComponent) {\n throw new GeneralError(`component ${compareCompId.toString()} doesn't have any version yet`);\n }\n\n const baseVersion = baseCompId.version as string;\n const compareVersion = compareCompId.version as string;\n\n const repository = this.scope.legacyScope.objects;\n const baseVersionObject = await modelComponent.loadVersion(baseVersion, repository);\n const compareVersionObject = await modelComponent.loadVersion(compareVersion, repository);\n\n const diff: DiffResults = await this.diffBetweenVersionsObjects(\n modelComponent,\n baseVersionObject,\n compareVersionObject,\n baseVersion,\n compareVersion,\n {}\n );\n\n const baseComponent = await host.get(baseCompId);\n const compareComponent = await host.get(compareCompId);\n\n const baseTestFiles =\n (baseComponent && (await this.tester.getTestFiles(baseComponent).map((file) => file.relative))) || [];\n const compareTestFiles =\n (compareComponent && (await this.tester.getTestFiles(compareComponent).map((file) => file.relative))) || [];\n\n const allTestFiles = [...baseTestFiles, ...compareTestFiles];\n\n const testFilesDiff = (diff.filesDiff || []).filter(\n (fileDiff: FileDiff) => allTestFiles.includes(fileDiff.filePath) && fileDiff.status !== 'UNCHANGED'\n );\n\n const compareResult = {\n id: `${baseCompId}-${compareCompId}`,\n code: diff.filesDiff || [],\n fields: diff.fieldsDiff || [],\n tests: testFilesDiff,\n };\n\n return compareResult;\n }\n\n async diffByCLIValues(values: string[], verbose: boolean, table: boolean): Promise<any> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n const { bitIds, version, toVersion } = await this.parseValues(values);\n if (!bitIds || !bitIds.length) {\n return [];\n }\n const diffResults = await this.componentsDiff(bitIds, version, toVersion, {\n verbose,\n formatDepsAsTable: table,\n });\n await consumer.onDestroy('diff');\n return diffResults;\n }\n\n async getConfigForDiffById(id: string): Promise<ConfigDiff> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.resolveComponentId(id);\n const component = await workspace.scope.get(componentId, false);\n if (!component) throw new Error(`getConfigForDiff: unable to find component ${id} in local scope`);\n return this.getConfigForDiffByCompObject(component);\n }\n\n async getConfigForDiffByCompObject(component: Component) {\n const depData = await this.depResolver.getDependencies(component);\n const serializedToString = (dep: SerializedDependency) => {\n const idWithoutVersion = dep.__type === 'package' ? dep.id : dep.id.split('@')[0];\n return `${idWithoutVersion}@${dep.version} (${dep.lifecycle}) ${dep.source ? `(${dep.source})` : ''}`;\n };\n const serializeAndSort = (deps: DependencyList) => {\n const serialized = deps.serialize().map(serializedToString);\n return serialized.sort();\n };\n const serializeAspect = (comp: Component) => {\n const aspects = comp.state.aspects.withoutEntries([BuilderAspect.id, DependencyResolverAspect.id]);\n // return aspects.serialize();\n return aspects.toLegacy().sortById().toConfigObject();\n };\n return {\n version: component.id.version,\n dependencies: serializeAndSort(depData),\n aspects: serializeAspect(component),\n };\n }\n\n private async componentsDiff(\n ids: ComponentID[],\n version: string | null | undefined,\n toVersion: string | null | undefined,\n diffOpts: DiffOptions\n ): Promise<DiffResults[]> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace?.consumer;\n const components = await this.workspace.getMany(ids);\n if (!components.length) throw new BitError('failed loading the components');\n\n const getResults = (): Promise<DiffResults[]> => {\n if (version && toVersion) {\n return Promise.all(ids.map((id) => getComponentDiffBetweenVersions(id)));\n }\n if (version) {\n return Promise.all(components.map((component) => getComponentDiffOfVersion(component)));\n }\n return Promise.all(components.map((component) => getComponentDiff(component)));\n };\n const componentsDiffResults = await getResults();\n return componentsDiffResults;\n\n async function getComponentDiffOfVersion(component: Component): Promise<DiffResults> {\n if (!version) throw new Error('getComponentDiffOfVersion expects to get version');\n const consumerComponent = component.state._consumer as ConsumerComponent;\n const diffResult: DiffResults = { id: component.id, hasDiff: false };\n const modelComponent = await consumer.scope.getModelComponentIfExist(component.id);\n if (!modelComponent) {\n throw new GeneralError(`component ${component.id.toString()} doesn't have any version yet`);\n }\n const repository = consumer.scope.objects;\n const fromVersionObject: Version = await modelComponent.loadVersion(version, repository);\n const versionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const fsFiles = consumerComponent.files;\n // version must be defined as the component.componentFromModel do exist\n const versionB: string = component.id.version;\n // this function gets called only when version is set\n diffResult.filesDiff = await getFilesDiff(versionFiles, fsFiles, version, versionB);\n const fromVersionComponent = await modelComponent.toConsumerComponent(version, consumer.scope.name, repository);\n await updateFieldsDiff(fromVersionComponent, consumerComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n\n async function getComponentDiffBetweenVersions(id: ComponentID): Promise<DiffResults> {\n if (!version || !toVersion)\n throw new Error('getComponentDiffBetweenVersions expects to get version and toVersion');\n const diffResult: DiffResults = { id, hasDiff: false };\n const modelComponent = await consumer.scope.getModelComponentIfExist(id);\n if (!modelComponent) {\n throw new GeneralError(`component ${id.toString()} doesn't have any version yet`);\n }\n const repository = consumer.scope.objects;\n\n const fromVersionObject: Version = await modelComponent.loadVersion(version, repository);\n const toVersionObject: Version = await modelComponent.loadVersion(toVersion, repository);\n const fromVersionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const toVersionFiles = await toVersionObject.modelFilesToSourceFiles(repository);\n diffResult.filesDiff = await getFilesDiff(fromVersionFiles, toVersionFiles, version, toVersion);\n const fromVersionComponent = await modelComponent.toConsumerComponent(version, consumer.scope.name, repository);\n const toVersionComponent = await modelComponent.toConsumerComponent(toVersion, consumer.scope.name, repository);\n await updateFieldsDiff(fromVersionComponent, toVersionComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n\n async function getComponentDiff(component: Component): Promise<DiffResults> {\n const diffResult = { id: component.id, hasDiff: false };\n const consumerComponent = component.state._consumer as ConsumerComponent;\n if (!consumerComponent.componentFromModel) {\n // it's a new component. not modified. show all files as new.\n const fsFiles = consumerComponent.files;\n // @ts-ignore version must be defined as the component.componentFromModel do exist\n diffResult.filesDiff = await getFilesDiff([], fsFiles, component.id.version, component.id.version);\n if (hasDiff(diffResult)) diffResult.hasDiff = true;\n return diffResult;\n }\n const modelFiles = consumerComponent.componentFromModel.files;\n const fsFiles = consumerComponent.files;\n // @ts-ignore version must be defined as the component.componentFromModel do exist\n diffResult.filesDiff = await getFilesDiff(modelFiles, fsFiles, component.id.version, component.id.version);\n await updateFieldsDiff(consumerComponent.componentFromModel, consumerComponent, diffResult, diffOpts);\n\n return diffResult;\n }\n }\n\n async diffBetweenVersionsObjects(\n modelComponent: ModelComponent,\n fromVersionObject: Version,\n toVersionObject: Version,\n fromVersion: string,\n toVersion: string,\n diffOpts: DiffOptions\n ) {\n const diffResult: DiffResults = { id: modelComponent.toComponentId(), hasDiff: false };\n const scope = this.scope.legacyScope;\n const repository = scope.objects;\n const fromVersionFiles = await fromVersionObject.modelFilesToSourceFiles(repository);\n const toVersionFiles = await toVersionObject.modelFilesToSourceFiles(repository);\n const color = diffOpts.color ?? true;\n diffResult.filesDiff = await getFilesDiff(\n fromVersionFiles,\n toVersionFiles,\n fromVersion,\n toVersion,\n undefined,\n color\n );\n const fromVersionComponent = await modelComponent.toConsumerComponent(\n fromVersionObject.hash().toString(),\n scope.name,\n repository\n );\n const toVersionComponent = await modelComponent.toConsumerComponent(\n toVersionObject.hash().toString(),\n scope.name,\n repository\n );\n await updateFieldsDiff(fromVersionComponent, toVersionComponent, diffResult, diffOpts);\n return diffResult;\n }\n\n private async parseValues(\n values: string[]\n ): Promise<{ bitIds: ComponentID[]; version?: string; toVersion?: string }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n // option #1: bit diff\n // no arguments\n if (!values.length) {\n const componentIds = await this.workspace.listTagPendingIds();\n return { bitIds: componentIds.map((id) => id) };\n }\n const firstValue = values[0];\n const lastValue = values[values.length - 1];\n const oneBeforeLastValue = values[values.length - 2];\n const isLastItemVersion = ComponentID.isValidVersion(lastValue);\n const isOneBeforeLastItemVersion = ComponentID.isValidVersion(oneBeforeLastValue);\n // option #2: bit diff [ids...]\n // all arguments are ids\n if (!isLastItemVersion) {\n return { bitIds: this.getBitIdsForDiff(values) };\n }\n // option #3: bit diff [id] [version]\n // last argument is a version, first argument is id\n if (!isOneBeforeLastItemVersion) {\n if (values.length !== 2) {\n throw new BitError(\n `bit diff [id] [version] syntax was used, however, ${values.length} arguments were given instead of 2`\n );\n }\n return { bitIds: this.getBitIdsForDiff([firstValue]), version: lastValue };\n }\n // option #4: bit diff [id] [version] [to_version]\n // last argument and one before the last are versions, first argument is id\n if (values.length !== 3) {\n throw new BitError(\n `bit diff [id] [version] [to_version] syntax was used, however, ${values.length} arguments were given instead of 3`\n );\n }\n return { bitIds: this.getBitIdsForDiff([firstValue]), version: oneBeforeLastValue, toVersion: lastValue };\n }\n\n private getBitIdsForDiff(ids: string[]): ComponentID[] {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const consumer = this.workspace.consumer;\n if (hasWildcard(ids)) {\n const componentsList = new ComponentsList(consumer);\n return componentsList.listComponentsByIdsWithWildcard(ids);\n }\n return ids.map((id) => consumer.getParsedId(id));\n }\n\n static slots = [];\n static dependencies = [\n GraphqlAspect,\n ComponentAspect,\n ScopeAspect,\n LoggerAspect,\n CLIAspect,\n WorkspaceAspect,\n TesterAspect,\n DependencyResolverAspect,\n ];\n static runtime = MainRuntime;\n static async provider([graphql, component, scope, loggerMain, cli, workspace, tester, depResolver]: [\n GraphqlMain,\n ComponentMain,\n ScopeMain,\n LoggerMain,\n CLIMain,\n Workspace,\n TesterMain,\n DependencyResolverMain\n ]) {\n const logger = loggerMain.createLogger(ComponentCompareAspect.id);\n const componentCompareMain = new ComponentCompareMain(component, scope, logger, tester, depResolver, workspace);\n cli.register(new DiffCmd(componentCompareMain));\n graphql.register(componentCompareSchema(componentCompareMain));\n return componentCompareMain;\n }\n}\n\nfunction hasDiff(diffResult: DiffResults): boolean {\n return !!((diffResult.filesDiff && diffResult.filesDiff.find((file) => file.diffOutput)) || diffResult.fieldsDiff);\n}\n\nasync function updateFieldsDiff(\n componentA: ConsumerComponent,\n componentB: ConsumerComponent,\n diffResult: DiffResults,\n diffOpts: DiffOptions\n) {\n diffResult.fieldsDiff = await diffBetweenComponentsObjects(componentA, componentB, diffOpts);\n diffResult.hasDiff = hasDiff(diffResult);\n}\n\nComponentCompareAspect.addRuntime(ComponentCompareMain);\n\nexport default ComponentCompareMain;\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Section } from '@teambit/component';
3
2
  import { ComponentCompareUI } from './component-compare.ui.runtime';
4
3
  export declare class ComponentCompareSection implements Section {
package/dist/diff-cmd.js CHANGED
@@ -4,6 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DiffCmd = void 0;
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function () {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
7
14
  function _constants() {
8
15
  const data = require("@teambit/legacy/dist/constants");
9
16
  _constants = function () {
@@ -18,6 +25,7 @@ function _componentsDiff() {
18
25
  };
19
26
  return data;
20
27
  }
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
29
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
30
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
23
31
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -42,6 +50,9 @@ ${(0, _constants().WILDCARD_HELP)('diff')}`);
42
50
  table = false
43
51
  }) {
44
52
  const diffResults = await this.componentCompareMain.diffByCLIValues(values, verbose, table);
53
+ if (!diffResults.length) {
54
+ return _chalk().default.yellow('there are no modified components to diff');
55
+ }
45
56
  return (0, _componentsDiff().outputDiffResults)(diffResults);
46
57
  }
47
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","data","require","_componentsDiff","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DiffCmd","constructor","componentCompareMain","WILDCARD_HELP","report","values","verbose","table","diffResults","diffByCLIValues","outputDiffResults","exports"],"sources":["diff-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport { DiffResults, outputDiffResults } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { ComponentCompareMain } from './component-compare.main.runtime';\n\nexport class DiffCmd implements Command {\n name = 'diff [values...]';\n group = 'development';\n description =\n \"show the diff between the components' current source files and config, and their latest snapshot or tag\";\n helpUrl = 'docs/components/merging-changes#compare-component-snaps';\n extendedDescription = `bit diff => compare all modified components to their model version\nbit diff [ids...] => compare the specified components against their modified states\nbit diff [id] [version] => compare component's current files and configs to the specified version of the component\nbit diff [id] [version] [to_version] => compare component's files and configs between the specified version and the to_version provided\n${WILDCARD_HELP('diff')}`;\n alias = '';\n options = [\n ['v', 'verbose', 'show a more verbose output where possible'],\n ['t', 'table', 'show tables instead of plain text for dependencies diff'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private componentCompareMain: ComponentCompareMain) {}\n\n async report([values = []]: [string[]], { verbose = false, table = false }: { verbose?: boolean; table: boolean }) {\n const diffResults: DiffResults[] = await this.componentCompareMain.diffByCLIValues(values, verbose, table);\n return outputDiffResults(diffResults);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,WAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,UAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6G,SAAAG,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAGtG,MAAMW,OAAO,CAAoB;EAkBtCC,WAAWA,CAASC,oBAA0C,EAAE;IAAA,KAA5CA,oBAA0C,GAA1CA,oBAA0C;IAAAvB,eAAA,eAjBvD,kBAAkB;IAAAA,eAAA,gBACjB,aAAa;IAAAA,eAAA,sBAEnB,yGAAyG;IAAAA,eAAA,kBACjG,yDAAyD;IAAAA,eAAA,8BAC5C;AACzB;AACA;AACA;AACA,EAAE,IAAAwB,0BAAa,EAAC,MAAM,CAAE,EAAC;IAAAxB,eAAA,gBACf,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,SAAS,EAAE,2CAA2C,CAAC,EAC7D,CAAC,GAAG,EAAE,OAAO,EAAE,yDAAyD,CAAC,CAC1E;IAAAA,eAAA,iBACQ,IAAI;EAEoD;EAEjE,MAAMyB,MAAMA,CAAC,CAACC,MAAM,GAAG,EAAE,CAAa,EAAE;IAAEC,OAAO,GAAG,KAAK;IAAEC,KAAK,GAAG;EAA6C,CAAC,EAAE;IACjH,MAAMC,WAA0B,GAAG,MAAM,IAAI,CAACN,oBAAoB,CAACO,eAAe,CAACJ,MAAM,EAAEC,OAAO,EAAEC,KAAK,CAAC;IAC1G,OAAO,IAAAG,mCAAiB,EAACF,WAAW,CAAC;EACvC;AACF;AAACG,OAAA,CAAAX,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_componentsDiff","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DiffCmd","constructor","componentCompareMain","WILDCARD_HELP","report","values","verbose","table","diffResults","diffByCLIValues","length","chalk","yellow","outputDiffResults","exports"],"sources":["diff-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { WILDCARD_HELP } from '@teambit/legacy/dist/constants';\nimport { DiffResults, outputDiffResults } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport { ComponentCompareMain } from './component-compare.main.runtime';\n\nexport class DiffCmd implements Command {\n name = 'diff [values...]';\n group = 'development';\n description =\n \"show the diff between the components' current source files and config, and their latest snapshot or tag\";\n helpUrl = 'docs/components/merging-changes#compare-component-snaps';\n extendedDescription = `bit diff => compare all modified components to their model version\nbit diff [ids...] => compare the specified components against their modified states\nbit diff [id] [version] => compare component's current files and configs to the specified version of the component\nbit diff [id] [version] [to_version] => compare component's files and configs between the specified version and the to_version provided\n${WILDCARD_HELP('diff')}`;\n alias = '';\n options = [\n ['v', 'verbose', 'show a more verbose output where possible'],\n ['t', 'table', 'show tables instead of plain text for dependencies diff'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private componentCompareMain: ComponentCompareMain) {}\n\n async report([values = []]: [string[]], { verbose = false, table = false }: { verbose?: boolean; table: boolean }) {\n const diffResults: DiffResults[] = await this.componentCompareMain.diffByCLIValues(values, verbose, table);\n if (!diffResults.length) {\n return chalk.yellow('there are no modified components to diff');\n }\n return outputDiffResults(diffResults);\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,WAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,eAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6G,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAGtG,MAAMW,OAAO,CAAoB;EAkBtCC,WAAWA,CAASC,oBAA0C,EAAE;IAAA,KAA5CA,oBAA0C,GAA1CA,oBAA0C;IAAAtB,eAAA,eAjBvD,kBAAkB;IAAAA,eAAA,gBACjB,aAAa;IAAAA,eAAA,sBAEnB,yGAAyG;IAAAA,eAAA,kBACjG,yDAAyD;IAAAA,eAAA,8BAC5C;AACzB;AACA;AACA;AACA,EAAE,IAAAuB,0BAAa,EAAC,MAAM,CAAE,EAAC;IAAAvB,eAAA,gBACf,EAAE;IAAAA,eAAA,kBACA,CACR,CAAC,GAAG,EAAE,SAAS,EAAE,2CAA2C,CAAC,EAC7D,CAAC,GAAG,EAAE,OAAO,EAAE,yDAAyD,CAAC,CAC1E;IAAAA,eAAA,iBACQ,IAAI;EAEoD;EAEjE,MAAMwB,MAAMA,CAAC,CAACC,MAAM,GAAG,EAAE,CAAa,EAAE;IAAEC,OAAO,GAAG,KAAK;IAAEC,KAAK,GAAG;EAA6C,CAAC,EAAE;IACjH,MAAMC,WAA0B,GAAG,MAAM,IAAI,CAACN,oBAAoB,CAACO,eAAe,CAACJ,MAAM,EAAEC,OAAO,EAAEC,KAAK,CAAC;IAC1G,IAAI,CAACC,WAAW,CAACE,MAAM,EAAE;MACvB,OAAOC,gBAAK,CAACC,MAAM,CAAC,0CAA0C,CAAC;IACjE;IACA,OAAO,IAAAC,mCAAiB,EAACL,WAAW,CAAC;EACvC;AACF;AAACM,OAAA,CAAAd,OAAA,GAAAA,OAAA"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.111/dist/component-compare.compositions.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.111/dist/component-compare.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.112/dist/component-compare.compositions.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.112/dist/component-compare.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@teambit/component-compare",
3
- "version": "1.0.111",
3
+ "version": "1.0.112",
4
4
  "homepage": "https://bit.cloud/teambit/component/component-compare",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component-compare",
9
- "version": "1.0.111"
9
+ "version": "1.0.112"
10
10
  },
11
11
  "dependencies": {
12
12
  "graphql-tag": "2.12.1",
13
13
  "lodash.flatten": "4.4.0",
14
+ "chalk": "2.4.2",
14
15
  "@teambit/component.ui.component-compare.models.component-compare-change-type": "0.0.7",
15
16
  "@teambit/component.ui.component-compare.models.component-compare-props": "0.0.101",
16
17
  "@teambit/ui-foundation.ui.menu-widget-icon": "0.0.502",
@@ -21,16 +22,16 @@
21
22
  "@teambit/component.ui.component-compare.compare-aspects.compare-aspects": "0.0.145",
22
23
  "@teambit/component.ui.component-compare.component-compare": "0.0.171",
23
24
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.506",
24
- "@teambit/component": "1.0.111",
25
- "@teambit/builder": "1.0.111",
25
+ "@teambit/component": "1.0.112",
26
+ "@teambit/builder": "1.0.112",
26
27
  "@teambit/cli": "0.0.842",
27
- "@teambit/dependency-resolver": "1.0.111",
28
- "@teambit/graphql": "1.0.111",
28
+ "@teambit/dependency-resolver": "1.0.112",
29
+ "@teambit/graphql": "1.0.112",
29
30
  "@teambit/logger": "0.0.935",
30
- "@teambit/scope": "1.0.111",
31
- "@teambit/tester": "1.0.111",
32
- "@teambit/workspace": "1.0.111",
33
- "@teambit/ui": "1.0.111"
31
+ "@teambit/scope": "1.0.112",
32
+ "@teambit/tester": "1.0.112",
33
+ "@teambit/workspace": "1.0.112",
34
+ "@teambit/ui": "1.0.112"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/lodash.flatten": "4.4.6",