@teambit/component-compare 1.0.124 → 1.0.126

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={385:(e,t,o)=>{var n={id:"teambit.component/component-compare@1.0.124",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(385);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={35822:(e,t,o)=>{var n={id:"teambit.component/component-compare@1.0.126",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(35822);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})()));
@@ -28,7 +28,10 @@ export declare class ComponentCompareMain {
28
28
  private workspace?;
29
29
  constructor(componentAspect: ComponentMain, scope: ScopeMain, logger: Logger, tester: TesterMain, depResolver: DependencyResolverMain, workspace?: Workspace);
30
30
  compare(baseIdStr: string, compareIdStr: string): Promise<ComponentCompareResult>;
31
- diffByCLIValues(values: string[], verbose: boolean, table: boolean): Promise<any>;
31
+ diffByCLIValues(pattern?: string, version?: string, toVersion?: string, { verbose, table }?: {
32
+ verbose?: boolean;
33
+ table?: boolean;
34
+ }): Promise<any>;
32
35
  getConfigForDiffById(id: string): Promise<ConfigDiff>;
33
36
  getConfigForDiffByCompObject(component: Component): Promise<{
34
37
  version: string;
@@ -37,8 +40,6 @@ export declare class ComponentCompareMain {
37
40
  }>;
38
41
  private componentsDiff;
39
42
  diffBetweenVersionsObjects(modelComponent: ModelComponent, fromVersionObject: Version, toVersionObject: Version, fromVersion: string, toVersion: string, diffOpts: DiffOptions): Promise<DiffResults>;
40
- private parseValues;
41
- private getBitIdsForDiff;
42
43
  static slots: any[];
43
44
  static dependencies: import("@teambit/harmony").Aspect[];
44
45
  static runtime: import("@teambit/harmony").RuntimeDefinition;
@@ -25,27 +25,6 @@ function _workspace() {
25
25
  };
26
26
  return data;
27
27
  }
28
- function _componentId() {
29
- const data = require("@teambit/component-id");
30
- _componentId = function () {
31
- return data;
32
- };
33
- return data;
34
- }
35
- function _componentsList() {
36
- const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/components-list"));
37
- _componentsList = function () {
38
- return data;
39
- };
40
- return data;
41
- }
42
- function _hasWildcard() {
43
- const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/string/has-wildcard"));
44
- _hasWildcard = function () {
45
- return data;
46
- };
47
- return data;
48
- }
49
28
  function _scope() {
50
29
  const data = require("@teambit/scope");
51
30
  _scope = function () {
@@ -177,18 +156,17 @@ class ComponentCompareMain {
177
156
  };
178
157
  return compareResult;
179
158
  }
180
- async diffByCLIValues(values, verbose, table) {
159
+ async diffByCLIValues(pattern, version, toVersion, {
160
+ verbose,
161
+ table
162
+ } = {}) {
181
163
  if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
164
+ const ids = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listTagPendingIds();
182
165
  const consumer = this.workspace.consumer;
183
- const {
184
- bitIds,
185
- version,
186
- toVersion
187
- } = await this.parseValues(values);
188
- if (!bitIds || !bitIds.length) {
166
+ if (!ids.length) {
189
167
  return [];
190
168
  }
191
- const diffResults = await this.componentsDiff(bitIds, version, toVersion, {
169
+ const diffResults = await this.componentsDiff(ids, version, toVersion, {
192
170
  verbose,
193
171
  formatDepsAsTable: table
194
172
  });
@@ -322,59 +300,6 @@ class ComponentCompareMain {
322
300
  await updateFieldsDiff(fromVersionComponent, toVersionComponent, diffResult, diffOpts);
323
301
  return diffResult;
324
302
  }
325
- async parseValues(values) {
326
- if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
327
- // option #1: bit diff
328
- // no arguments
329
- if (!values.length) {
330
- const componentIds = await this.workspace.listTagPendingIds();
331
- return {
332
- bitIds: componentIds.map(id => id)
333
- };
334
- }
335
- const firstValue = values[0];
336
- const lastValue = values[values.length - 1];
337
- const oneBeforeLastValue = values[values.length - 2];
338
- const isLastItemVersion = _componentId().ComponentID.isValidVersion(lastValue);
339
- const isOneBeforeLastItemVersion = _componentId().ComponentID.isValidVersion(oneBeforeLastValue);
340
- // option #2: bit diff [ids...]
341
- // all arguments are ids
342
- if (!isLastItemVersion) {
343
- return {
344
- bitIds: this.getBitIdsForDiff(values)
345
- };
346
- }
347
- // option #3: bit diff [id] [version]
348
- // last argument is a version, first argument is id
349
- if (!isOneBeforeLastItemVersion) {
350
- if (values.length !== 2) {
351
- throw new (_bitError().BitError)(`bit diff [id] [version] syntax was used, however, ${values.length} arguments were given instead of 2`);
352
- }
353
- return {
354
- bitIds: this.getBitIdsForDiff([firstValue]),
355
- version: lastValue
356
- };
357
- }
358
- // option #4: bit diff [id] [version] [to_version]
359
- // last argument and one before the last are versions, first argument is id
360
- if (values.length !== 3) {
361
- throw new (_bitError().BitError)(`bit diff [id] [version] [to_version] syntax was used, however, ${values.length} arguments were given instead of 3`);
362
- }
363
- return {
364
- bitIds: this.getBitIdsForDiff([firstValue]),
365
- version: oneBeforeLastValue,
366
- toVersion: lastValue
367
- };
368
- }
369
- getBitIdsForDiff(ids) {
370
- if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
371
- const consumer = this.workspace.consumer;
372
- if ((0, _hasWildcard().default)(ids)) {
373
- const componentsList = new (_componentsList().default)(consumer);
374
- return componentsList.listComponentsByIdsWithWildcard(ids);
375
- }
376
- return ids.map(id => consumer.getParsedId(id));
377
- }
378
303
  static async provider([graphql, component, scope, loggerMain, cli, workspace, tester, depResolver]) {
379
304
  const logger = loggerMain.createLogger(_componentCompare2().ComponentCompareAspect.id);
380
305
  const componentCompareMain = new ComponentCompareMain(component, scope, logger, tester, depResolver, workspace);
@@ -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","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
+ {"version":3,"names":["_cli","data","require","_bitError","_workspace","_scope","_graphql","_builder","_interopRequireDefault","_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","pattern","toVersion","verbose","table","OutsideWorkspaceError","ids","idsByPattern","listTagPendingIds","consumer","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","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","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 { 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(\n pattern?: string,\n version?: string,\n toVersion?: string,\n { verbose, table }: { verbose?: boolean; table?: boolean } = {}\n ): Promise<any> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const ids = pattern ? await this.workspace.idsByPattern(pattern) : await this.workspace.listTagPendingIds();\n const consumer = this.workspace.consumer;\n if (!ids.length) {\n return [];\n }\n const diffResults = await this.componentsDiff(ids, 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 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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"}
@@ -6,12 +6,19 @@ export declare class DiffCmd implements Command {
6
6
  group: string;
7
7
  description: string;
8
8
  helpUrl: string;
9
- extendedDescription: string;
9
+ arguments: {
10
+ name: string;
11
+ description: string;
12
+ }[];
10
13
  alias: string;
11
14
  options: CommandOptions;
15
+ examples: {
16
+ cmd: string;
17
+ description: string;
18
+ }[];
12
19
  loader: boolean;
13
20
  constructor(componentCompareMain: ComponentCompareMain);
14
- report([values]: [string[]], { verbose, table }: {
21
+ report([pattern, version, toVersion]: [string, string, string], { verbose, table }: {
15
22
  verbose?: boolean;
16
23
  table: boolean;
17
24
  }): Promise<string>;
package/dist/diff-cmd.js CHANGED
@@ -32,24 +32,48 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
32
32
  class DiffCmd {
33
33
  constructor(componentCompareMain) {
34
34
  this.componentCompareMain = componentCompareMain;
35
- _defineProperty(this, "name", 'diff [values...]');
35
+ _defineProperty(this, "name", 'diff [component-pattern] [version] [to-version]');
36
36
  _defineProperty(this, "group", 'development');
37
37
  _defineProperty(this, "description", "show the diff between the components' current source files and config, and their latest snapshot or tag");
38
38
  _defineProperty(this, "helpUrl", 'docs/components/merging-changes#compare-component-snaps');
39
- _defineProperty(this, "extendedDescription", `bit diff => compare all modified components to their model version
40
- bit diff [ids...] => compare the specified components against their modified states
41
- bit diff [id] [version] => compare component's current files and configs to the specified version of the component
42
- bit diff [id] [version] [to_version] => compare component's files and configs between the specified version and the to_version provided
43
- ${(0, _constants().WILDCARD_HELP)('diff')}`);
39
+ _defineProperty(this, "arguments", [{
40
+ name: 'component-pattern',
41
+ description: _constants().COMPONENT_PATTERN_HELP
42
+ }, {
43
+ name: 'version',
44
+ description: 'specific version to compare against'
45
+ }, {
46
+ name: 'to-version',
47
+ description: 'specific version to compare to'
48
+ }]);
44
49
  _defineProperty(this, "alias", '');
45
50
  _defineProperty(this, "options", [['v', 'verbose', 'show a more verbose output where possible'], ['t', 'table', 'show tables instead of plain text for dependencies diff']]);
51
+ _defineProperty(this, "examples", [{
52
+ cmd: 'diff',
53
+ description: 'show diff for all modified components'
54
+ }, {
55
+ cmd: 'diff foo',
56
+ description: 'show diff for a component "foo"'
57
+ }, {
58
+ cmd: 'diff foo 0.0.1',
59
+ description: 'show diff for a component "foo" from the current state to version 0.0.1'
60
+ }, {
61
+ cmd: 'diff foo 0.0.1 0.0.2',
62
+ description: 'show diff for a component "foo" from version 0.0.1 to version 0.0.2'
63
+ }, {
64
+ cmd: "diff '$codeModified' ",
65
+ description: 'show diff only for components with modified files. ignore config changes'
66
+ }]);
46
67
  _defineProperty(this, "loader", true);
47
68
  }
48
- async report([values = []], {
69
+ async report([pattern, version, toVersion], {
49
70
  verbose = false,
50
71
  table = false
51
72
  }) {
52
- const diffResults = await this.componentCompareMain.diffByCLIValues(values, verbose, table);
73
+ const diffResults = await this.componentCompareMain.diffByCLIValues(pattern, version, toVersion, {
74
+ verbose,
75
+ table
76
+ });
53
77
  if (!diffResults.length) {
54
78
  return _chalk().default.yellow('there are no modified components to diff');
55
79
  }
@@ -1 +1 @@
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
+ {"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","name","description","COMPONENT_PATTERN_HELP","cmd","report","pattern","version","toVersion","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 { COMPONENT_PATTERN_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 [component-pattern] [version] [to-version]';\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 arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n {\n name: 'version',\n description: 'specific version to compare against',\n },\n {\n name: 'to-version',\n description: 'specific version to compare to',\n },\n ];\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 examples = [\n { cmd: 'diff', description: 'show diff for all modified components' },\n { cmd: 'diff foo', description: 'show diff for a component \"foo\"' },\n { cmd: 'diff foo 0.0.1', description: 'show diff for a component \"foo\" from the current state to version 0.0.1' },\n { cmd: 'diff foo 0.0.1 0.0.2', description: 'show diff for a component \"foo\" from version 0.0.1 to version 0.0.2' },\n {\n cmd: \"diff '$codeModified' \",\n description: 'show diff only for components with modified files. ignore config changes',\n },\n ];\n loader = true;\n\n constructor(private componentCompareMain: ComponentCompareMain) {}\n\n async report(\n [pattern, version, toVersion]: [string, string, string],\n { verbose = false, table = false }: { verbose?: boolean; table: boolean }\n ) {\n const diffResults: DiffResults[] = await this.componentCompareMain.diffByCLIValues(pattern, version, toVersion, {\n verbose,\n table,\n });\n if (!diffResults.length) {\n return chalk.yellow('there are no modified components to diff');\n }\n return outputDiffResults(diffResults);\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.124/dist/component-compare.compositions.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.124/dist/component-compare.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.126/dist/component-compare.compositions.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-compare@1.0.126/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,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component-compare",
3
- "version": "1.0.124",
3
+ "version": "1.0.126",
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.124"
9
+ "version": "1.0.126"
10
10
  },
11
11
  "dependencies": {
12
12
  "graphql-tag": "2.12.1",
@@ -22,16 +22,16 @@
22
22
  "@teambit/component.ui.component-compare.compare-aspects.compare-aspects": "0.0.145",
23
23
  "@teambit/component.ui.component-compare.component-compare": "0.0.171",
24
24
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.506",
25
- "@teambit/component": "1.0.124",
26
- "@teambit/builder": "1.0.124",
25
+ "@teambit/component": "1.0.126",
26
+ "@teambit/builder": "1.0.126",
27
27
  "@teambit/cli": "0.0.845",
28
- "@teambit/dependency-resolver": "1.0.124",
29
- "@teambit/graphql": "1.0.124",
28
+ "@teambit/dependency-resolver": "1.0.126",
29
+ "@teambit/graphql": "1.0.126",
30
30
  "@teambit/logger": "0.0.938",
31
- "@teambit/scope": "1.0.124",
32
- "@teambit/tester": "1.0.124",
33
- "@teambit/workspace": "1.0.124",
34
- "@teambit/ui": "1.0.124"
31
+ "@teambit/scope": "1.0.126",
32
+ "@teambit/tester": "1.0.126",
33
+ "@teambit/workspace": "1.0.126",
34
+ "@teambit/ui": "1.0.126"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/lodash.flatten": "4.4.6",