@teambit/workspace 1.0.173 → 1.0.175

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.
@@ -14,18 +14,18 @@ function _sources() {
14
14
  // ts fails when importing it from @teambit/legacy/dist/utils/path.
15
15
 
16
16
  class CompFiles {
17
- constructor(id, repository, currentFiles, compDir, headFiles = []) {
17
+ constructor(id, repository, currentFiles, compDir, modelFiles = []) {
18
18
  this.id = id;
19
19
  this.repository = repository;
20
20
  this.currentFiles = currentFiles;
21
21
  this.compDir = compDir;
22
- this.headFiles = headFiles;
22
+ this.modelFiles = modelFiles;
23
23
  }
24
24
  isModified() {
25
- if (!this.headFiles.length) return false;
26
- if (this.currentFiles.length !== this.headFiles.length) return true;
25
+ if (!this.modelFiles.length) return false;
26
+ if (this.currentFiles.length !== this.modelFiles.length) return true;
27
27
  return this.currentFiles.some(file => {
28
- const headFile = this.headFiles.find(h => h.relativePath === file.relative);
28
+ const headFile = this.modelFiles.find(h => h.relativePath === file.relative);
29
29
  if (!headFile) return true;
30
30
  return !headFile.file.isEqual(file.toSourceAsLinuxEOL().hash());
31
31
  });
@@ -34,11 +34,11 @@ class CompFiles {
34
34
  return this.currentFiles;
35
35
  }
36
36
  async getHeadFiles() {
37
- return Promise.all(this.headFiles.map(file => _sources().SourceFile.loadFromSourceFileModel(file, this.repository)));
37
+ return Promise.all(this.modelFiles.map(file => _sources().SourceFile.loadFromSourceFileModel(file, this.repository)));
38
38
  }
39
39
  getFilesStatus() {
40
40
  const result = this.currentFiles.reduce((acc, file) => {
41
- const headFile = this.headFiles.find(h => h.relativePath === file.relative);
41
+ const headFile = this.modelFiles.find(h => h.relativePath === file.relative);
42
42
  const getType = () => {
43
43
  if (!headFile) return 'new';
44
44
  if (headFile.file.isEqual(file.toSourceAsLinuxEOL().hash())) return 'unchanged';
@@ -47,7 +47,7 @@ class CompFiles {
47
47
  acc[file.relative] = getType();
48
48
  return acc;
49
49
  }, {});
50
- this.headFiles.forEach(headFile => {
50
+ this.modelFiles.forEach(headFile => {
51
51
  const currentFile = this.currentFiles.find(c => c.relative === headFile.relativePath);
52
52
  if (!currentFile) {
53
53
  result[headFile.relativePath] = 'deleted';
@@ -1 +1 @@
1
- {"version":3,"names":["_sources","data","require","CompFiles","constructor","id","repository","currentFiles","compDir","headFiles","isModified","length","some","file","headFile","find","h","relativePath","relative","isEqual","toSourceAsLinuxEOL","hash","getCurrentFiles","getHeadFiles","Promise","all","map","SourceFile","loadFromSourceFileModel","getFilesStatus","result","reduce","acc","getType","forEach","currentFile","c","exports"],"sources":["comp-files.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { SourceFileModel } from '@teambit/legacy/dist/scope/models/version';\nimport { Repository } from '@teambit/legacy/dist/scope/objects';\n\ntype FILE_STATUS = 'new' | 'modified' | 'deleted' | 'unchanged';\ntype PathLinux = string; // ts fails when importing it from @teambit/legacy/dist/utils/path.\nexport type FilesStatus = { [pathRelativeToCompDir: PathLinux]: FILE_STATUS };\n\nexport class CompFiles {\n constructor(\n readonly id: ComponentID,\n private repository: Repository,\n private currentFiles: SourceFile[],\n readonly compDir: PathLinux,\n private headFiles: SourceFileModel[] = []\n ) {}\n\n isModified(): boolean {\n if (!this.headFiles.length) return false;\n if (this.currentFiles.length !== this.headFiles.length) return true;\n return this.currentFiles.some((file) => {\n const headFile = this.headFiles.find((h) => h.relativePath === file.relative);\n if (!headFile) return true;\n return !headFile.file.isEqual(file.toSourceAsLinuxEOL().hash());\n });\n }\n\n getCurrentFiles(): SourceFile[] {\n return this.currentFiles;\n }\n\n async getHeadFiles(): Promise<SourceFile[]> {\n return Promise.all(this.headFiles.map((file) => SourceFile.loadFromSourceFileModel(file, this.repository)));\n }\n\n getFilesStatus(): FilesStatus {\n const result = this.currentFiles.reduce((acc, file) => {\n const headFile = this.headFiles.find((h) => h.relativePath === file.relative);\n const getType = (): FILE_STATUS => {\n if (!headFile) return 'new';\n if (headFile.file.isEqual(file.toSourceAsLinuxEOL().hash())) return 'unchanged';\n return 'modified';\n };\n acc[file.relative] = getType();\n return acc;\n }, {});\n this.headFiles.forEach((headFile) => {\n const currentFile = this.currentFiles.find((c) => c.relative === headFile.relativePath);\n if (!currentFile) {\n result[headFile.relativePath] = 'deleted';\n }\n });\n return result;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKyB;;AAGlB,MAAME,SAAS,CAAC;EACrBC,WAAWA,CACAC,EAAe,EAChBC,UAAsB,EACtBC,YAA0B,EACzBC,OAAkB,EACnBC,SAA4B,GAAG,EAAE,EACzC;IAAA,KALSJ,EAAe,GAAfA,EAAe;IAAA,KAChBC,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,YAA0B,GAA1BA,YAA0B;IAAA,KACzBC,OAAkB,GAAlBA,OAAkB;IAAA,KACnBC,SAA4B,GAA5BA,SAA4B;EACnC;EAEHC,UAAUA,CAAA,EAAY;IACpB,IAAI,CAAC,IAAI,CAACD,SAAS,CAACE,MAAM,EAAE,OAAO,KAAK;IACxC,IAAI,IAAI,CAACJ,YAAY,CAACI,MAAM,KAAK,IAAI,CAACF,SAAS,CAACE,MAAM,EAAE,OAAO,IAAI;IACnE,OAAO,IAAI,CAACJ,YAAY,CAACK,IAAI,CAAEC,IAAI,IAAK;MACtC,MAAMC,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKJ,IAAI,CAACK,QAAQ,CAAC;MAC7E,IAAI,CAACJ,QAAQ,EAAE,OAAO,IAAI;MAC1B,OAAO,CAACA,QAAQ,CAACD,IAAI,CAACM,OAAO,CAACN,IAAI,CAACO,kBAAkB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;EACJ;EAEAC,eAAeA,CAAA,EAAiB;IAC9B,OAAO,IAAI,CAACf,YAAY;EAC1B;EAEA,MAAMgB,YAAYA,CAAA,EAA0B;IAC1C,OAAOC,OAAO,CAACC,GAAG,CAAC,IAAI,CAAChB,SAAS,CAACiB,GAAG,CAAEb,IAAI,IAAKc,qBAAU,CAACC,uBAAuB,CAACf,IAAI,EAAE,IAAI,CAACP,UAAU,CAAC,CAAC,CAAC;EAC7G;EAEAuB,cAAcA,CAAA,EAAgB;IAC5B,MAAMC,MAAM,GAAG,IAAI,CAACvB,YAAY,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEnB,IAAI,KAAK;MACrD,MAAMC,QAAQ,GAAG,IAAI,CAACL,SAAS,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKJ,IAAI,CAACK,QAAQ,CAAC;MAC7E,MAAMe,OAAO,GAAGA,CAAA,KAAmB;QACjC,IAAI,CAACnB,QAAQ,EAAE,OAAO,KAAK;QAC3B,IAAIA,QAAQ,CAACD,IAAI,CAACM,OAAO,CAACN,IAAI,CAACO,kBAAkB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,WAAW;QAC/E,OAAO,UAAU;MACnB,CAAC;MACDW,GAAG,CAACnB,IAAI,CAACK,QAAQ,CAAC,GAAGe,OAAO,CAAC,CAAC;MAC9B,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,CAACvB,SAAS,CAACyB,OAAO,CAAEpB,QAAQ,IAAK;MACnC,MAAMqB,WAAW,GAAG,IAAI,CAAC5B,YAAY,CAACQ,IAAI,CAAEqB,CAAC,IAAKA,CAAC,CAAClB,QAAQ,KAAKJ,QAAQ,CAACG,YAAY,CAAC;MACvF,IAAI,CAACkB,WAAW,EAAE;QAChBL,MAAM,CAAChB,QAAQ,CAACG,YAAY,CAAC,GAAG,SAAS;MAC3C;IACF,CAAC,CAAC;IACF,OAAOa,MAAM;EACf;AACF;AAACO,OAAA,CAAAlC,SAAA,GAAAA,SAAA"}
1
+ {"version":3,"names":["_sources","data","require","CompFiles","constructor","id","repository","currentFiles","compDir","modelFiles","isModified","length","some","file","headFile","find","h","relativePath","relative","isEqual","toSourceAsLinuxEOL","hash","getCurrentFiles","getHeadFiles","Promise","all","map","SourceFile","loadFromSourceFileModel","getFilesStatus","result","reduce","acc","getType","forEach","currentFile","c","exports"],"sources":["comp-files.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { SourceFile } from '@teambit/legacy/dist/consumer/component/sources';\nimport { SourceFileModel } from '@teambit/legacy/dist/scope/models/version';\nimport { Repository } from '@teambit/legacy/dist/scope/objects';\n\ntype FILE_STATUS = 'new' | 'modified' | 'deleted' | 'unchanged';\ntype PathLinux = string; // ts fails when importing it from @teambit/legacy/dist/utils/path.\nexport type FilesStatus = { [pathRelativeToCompDir: PathLinux]: FILE_STATUS };\n\nexport class CompFiles {\n constructor(\n readonly id: ComponentID,\n private repository: Repository,\n private currentFiles: SourceFile[],\n readonly compDir: PathLinux,\n private modelFiles: SourceFileModel[] = []\n ) {}\n\n isModified(): boolean {\n if (!this.modelFiles.length) return false;\n if (this.currentFiles.length !== this.modelFiles.length) return true;\n return this.currentFiles.some((file) => {\n const headFile = this.modelFiles.find((h) => h.relativePath === file.relative);\n if (!headFile) return true;\n return !headFile.file.isEqual(file.toSourceAsLinuxEOL().hash());\n });\n }\n\n getCurrentFiles(): SourceFile[] {\n return this.currentFiles;\n }\n\n async getHeadFiles(): Promise<SourceFile[]> {\n return Promise.all(this.modelFiles.map((file) => SourceFile.loadFromSourceFileModel(file, this.repository)));\n }\n\n getFilesStatus(): FilesStatus {\n const result = this.currentFiles.reduce((acc, file) => {\n const headFile = this.modelFiles.find((h) => h.relativePath === file.relative);\n const getType = (): FILE_STATUS => {\n if (!headFile) return 'new';\n if (headFile.file.isEqual(file.toSourceAsLinuxEOL().hash())) return 'unchanged';\n return 'modified';\n };\n acc[file.relative] = getType();\n return acc;\n }, {});\n this.modelFiles.forEach((headFile) => {\n const currentFile = this.currentFiles.find((c) => c.relative === headFile.relativePath);\n if (!currentFile) {\n result[headFile.relativePath] = 'deleted';\n }\n });\n return result;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKyB;;AAGlB,MAAME,SAAS,CAAC;EACrBC,WAAWA,CACAC,EAAe,EAChBC,UAAsB,EACtBC,YAA0B,EACzBC,OAAkB,EACnBC,UAA6B,GAAG,EAAE,EAC1C;IAAA,KALSJ,EAAe,GAAfA,EAAe;IAAA,KAChBC,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,YAA0B,GAA1BA,YAA0B;IAAA,KACzBC,OAAkB,GAAlBA,OAAkB;IAAA,KACnBC,UAA6B,GAA7BA,UAA6B;EACpC;EAEHC,UAAUA,CAAA,EAAY;IACpB,IAAI,CAAC,IAAI,CAACD,UAAU,CAACE,MAAM,EAAE,OAAO,KAAK;IACzC,IAAI,IAAI,CAACJ,YAAY,CAACI,MAAM,KAAK,IAAI,CAACF,UAAU,CAACE,MAAM,EAAE,OAAO,IAAI;IACpE,OAAO,IAAI,CAACJ,YAAY,CAACK,IAAI,CAAEC,IAAI,IAAK;MACtC,MAAMC,QAAQ,GAAG,IAAI,CAACL,UAAU,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKJ,IAAI,CAACK,QAAQ,CAAC;MAC9E,IAAI,CAACJ,QAAQ,EAAE,OAAO,IAAI;MAC1B,OAAO,CAACA,QAAQ,CAACD,IAAI,CAACM,OAAO,CAACN,IAAI,CAACO,kBAAkB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;EACJ;EAEAC,eAAeA,CAAA,EAAiB;IAC9B,OAAO,IAAI,CAACf,YAAY;EAC1B;EAEA,MAAMgB,YAAYA,CAAA,EAA0B;IAC1C,OAAOC,OAAO,CAACC,GAAG,CAAC,IAAI,CAAChB,UAAU,CAACiB,GAAG,CAAEb,IAAI,IAAKc,qBAAU,CAACC,uBAAuB,CAACf,IAAI,EAAE,IAAI,CAACP,UAAU,CAAC,CAAC,CAAC;EAC9G;EAEAuB,cAAcA,CAAA,EAAgB;IAC5B,MAAMC,MAAM,GAAG,IAAI,CAACvB,YAAY,CAACwB,MAAM,CAAC,CAACC,GAAG,EAAEnB,IAAI,KAAK;MACrD,MAAMC,QAAQ,GAAG,IAAI,CAACL,UAAU,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,YAAY,KAAKJ,IAAI,CAACK,QAAQ,CAAC;MAC9E,MAAMe,OAAO,GAAGA,CAAA,KAAmB;QACjC,IAAI,CAACnB,QAAQ,EAAE,OAAO,KAAK;QAC3B,IAAIA,QAAQ,CAACD,IAAI,CAACM,OAAO,CAACN,IAAI,CAACO,kBAAkB,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,WAAW;QAC/E,OAAO,UAAU;MACnB,CAAC;MACDW,GAAG,CAACnB,IAAI,CAACK,QAAQ,CAAC,GAAGe,OAAO,CAAC,CAAC;MAC9B,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,CAACvB,UAAU,CAACyB,OAAO,CAAEpB,QAAQ,IAAK;MACpC,MAAMqB,WAAW,GAAG,IAAI,CAAC5B,YAAY,CAACQ,IAAI,CAAEqB,CAAC,IAAKA,CAAC,CAAClB,QAAQ,KAAKJ,QAAQ,CAACG,YAAY,CAAC;MACvF,IAAI,CAACkB,WAAW,EAAE;QAChBL,MAAM,CAAChB,QAAQ,CAACG,YAAY,CAAC,GAAG,SAAS;MAC3C;IACF,CAAC,CAAC;IACF,OAAOa,MAAM;EACf;AACF;AAACO,OAAA,CAAAlC,SAAA,GAAAA,SAAA"}
@@ -113,7 +113,11 @@ class ComponentStatusLoader {
113
113
  */
114
114
  async getComponentStatusById(id) {
115
115
  if (!this._componentsStatusCache[id.toString()]) {
116
- this._componentsStatusCache[id.toString()] = await this.getStatus(id);
116
+ // don't do this: `this._componentsStatusCache[id.toString()] = await this.getStatus(id);`
117
+ // yes, it doesn't make sense right? turns out that "getStatus" can call `linkIfMissingWorkspaceAspects` which
118
+ // calls `linkToNodeModulesByIds` which deletes this cache. and makes this: `this._componentsStatusCache[id.toString()]` undefined.
119
+ const result = await this.getStatus(id);
120
+ this._componentsStatusCache[id.toString()] = result;
117
121
  }
118
122
  return this._componentsStatusCache[id.toString()];
119
123
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_componentId","_bitError","_modelComponent","_constants","_exceptions","_componentsPendingImport","_componentNotFoundInPath","_missingFilesFromComponent","_componentOutOfSync","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentStatusLoader","constructor","workspace","consumer","getManyComponentsStatuses","ids","results","mapSeries","id","status","getComponentStatusById","push","_componentsStatusCache","toString","getStatus","componentFromModel","scope","getModelComponentIfExist","componentFromFileSystem","components","removedComponents","loadComponents","ComponentIdList","changeVersion","LATEST","length","deleted","err","MissingFilesFromComponent","ComponentNotFoundInPath","MissingBitMapComponent","notExist","ComponentsPendingImport","missingFromScope","newlyCreated","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","lane","getCurrentLaneObject","setDivergeData","objects","staged","isLocallyChanged","versionFromFs","version","idStr","hasVersion","ComponentOutOfSync","versionRef","getRef","BitError","versionFromModel","getObject","hash","modified","isComponentModified","clearOneComponentCache","clearCache","exports"],"sources":["component-status-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { VERSION_ZERO } from '@teambit/legacy/dist/scope/models/model-component';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LATEST } from '@teambit/legacy/dist/constants';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { MissingBitMapComponent } from '@teambit/legacy/dist/consumer/bit-map/exceptions';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport MissingFilesFromComponent from '@teambit/legacy/dist/consumer/component/exceptions/missing-files-from-component';\nimport ComponentOutOfSync from '@teambit/legacy/dist/consumer/exceptions/component-out-of-sync';\nimport { Workspace } from '..';\n\nexport type ComponentStatusLegacy = {\n modified: boolean;\n newlyCreated: boolean;\n deleted: boolean;\n staged: boolean;\n notExist: boolean;\n missingFromScope: boolean;\n};\n\nexport type ComponentStatusResult = { id: ComponentID; status: ComponentStatusLegacy };\n\nexport class ComponentStatusLoader {\n private _componentsStatusCache: Record<string, any> = {}; // cache loaded components\n constructor(private workspace: Workspace) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async getManyComponentsStatuses(ids: ComponentID[]): Promise<ComponentStatusResult[]> {\n const results: ComponentStatusResult[] = [];\n await mapSeries(ids, async (id) => {\n const status = await this.getComponentStatusById(id);\n results.push({ id, status });\n });\n return results;\n }\n\n /**\n * Get a component status by ID. Return a ComponentStatus object.\n * Keep in mind that a result can be a partial object of ComponentStatus, e.g. { notExist: true }.\n * Each one of the ComponentStatus properties can be undefined, true or false.\n * As a result, in order to check whether a component is not modified use (status.modified === false).\n * Don't use (!status.modified) because a component may not exist and the status.modified will be undefined.\n *\n * The status may have 'true' for several properties. For example, a component can be staged and modified at the\n * same time.\n *\n * The result is cached per ID and can be called several times with no penalties.\n */\n async getComponentStatusById(id: ComponentID): Promise<ComponentStatusLegacy> {\n if (!this._componentsStatusCache[id.toString()]) {\n this._componentsStatusCache[id.toString()] = await this.getStatus(id);\n }\n return this._componentsStatusCache[id.toString()];\n }\n\n private async getStatus(id: ComponentID) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const status: ComponentStatusLegacy = {};\n const componentFromModel: ModelComponent | undefined = await this.consumer.scope.getModelComponentIfExist(id);\n let componentFromFileSystem;\n try {\n // change to 'latest' before loading from FS. don't change to null, otherwise, it'll cause\n // loadOne to not find model component as it assumes there is no version\n // also, don't leave the id as is, otherwise, it'll cause issues with import --merge, when\n // imported version is bigger than .bitmap, it won't find it and will consider as deleted\n const { components, removedComponents } = await this.consumer.loadComponents(\n new ComponentIdList(id.changeVersion(LATEST))\n );\n if (removedComponents.length) {\n status.deleted = true;\n return status;\n }\n componentFromFileSystem = components[0];\n } catch (err: any) {\n if (\n err instanceof MissingFilesFromComponent ||\n err instanceof ComponentNotFoundInPath ||\n err instanceof MissingBitMapComponent\n ) {\n // the file/s have been deleted or the component doesn't exist in bit.map file\n if (componentFromModel) status.deleted = true;\n else status.notExist = true;\n return status;\n }\n if (err instanceof ComponentsPendingImport) {\n status.missingFromScope;\n return status;\n }\n throw err;\n }\n if (!componentFromModel) {\n status.newlyCreated = true;\n return status;\n }\n if (componentFromModel.getHeadRegardlessOfLaneAsTagOrHash(true) === VERSION_ZERO) {\n status.newlyCreated = true;\n return status;\n }\n\n const lane = await this.consumer.getCurrentLaneObject();\n await componentFromModel.setDivergeData(this.consumer.scope.objects);\n status.staged = await componentFromModel.isLocallyChanged(this.consumer.scope.objects, lane);\n const versionFromFs = componentFromFileSystem.id.version;\n const idStr = id.toString();\n if (!componentFromFileSystem.id.hasVersion()) {\n throw new ComponentOutOfSync(idStr);\n }\n // TODO: instead of doing that like this we should use:\n // const versionFromModel = await componentFromModel.loadVersion(versionFromFs, this.consumer.scope.objects);\n // it looks like it's exactly the same code but it's not working from some reason\n const versionRef = componentFromModel.getRef(versionFromFs);\n if (!versionRef) throw new BitError(`version ${versionFromFs} was not found in ${idStr}`);\n const versionFromModel = await this.consumer.scope.getObject(versionRef.hash);\n if (!versionFromModel) {\n throw new BitError(`failed loading version ${versionFromFs} of ${idStr} from the scope`);\n }\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n status.modified = await this.consumer.isComponentModified(versionFromModel, componentFromFileSystem);\n return status;\n }\n\n clearOneComponentCache(id: ComponentID) {\n delete this._componentsStatusCache[id.toString()];\n }\n\n clearCache() {\n this._componentsStatusCache = {};\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,aAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,UAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,YAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,WAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,yBAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,wBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,yBAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,wBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,2BAAA;EAAA,MAAAV,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAQ,0BAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,oBAAA;EAAA,MAAAX,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAS,mBAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAgG,SAAAC,uBAAAW,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;AAczF,MAAMW,qBAAqB,CAAC;EACyB;EAC1DC,WAAWA,CAASC,SAAoB,EAAE;IAAA,KAAtBA,SAAoB,GAApBA,SAAoB;IAAAtB,eAAA,iCADc,CAAC,CAAC;EACb;EAE3C,IAAIuB,QAAQA,CAAA,EAAa;IACvB,OAAO,IAAI,CAACD,SAAS,CAACC,QAAQ;EAChC;EAEA,MAAMC,yBAAyBA,CAACC,GAAkB,EAAoC;IACpF,MAAMC,OAAgC,GAAG,EAAE;IAC3C,MAAM,IAAAC,qBAAS,EAACF,GAAG,EAAE,MAAOG,EAAE,IAAK;MACjC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,sBAAsB,CAACF,EAAE,CAAC;MACpDF,OAAO,CAACK,IAAI,CAAC;QAAEH,EAAE;QAAEC;MAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,OAAOH,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,sBAAsBA,CAACF,EAAe,EAAkC;IAC5E,IAAI,CAAC,IAAI,CAACI,sBAAsB,CAACJ,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC,EAAE;MAC/C,IAAI,CAACD,sBAAsB,CAACJ,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAACC,SAAS,CAACN,EAAE,CAAC;IACvE;IACA,OAAO,IAAI,CAACI,sBAAsB,CAACJ,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC;EACnD;EAEA,MAAcC,SAASA,CAACN,EAAe,EAAE;IACvC;IACA,MAAMC,MAA6B,GAAG,CAAC,CAAC;IACxC,MAAMM,kBAA8C,GAAG,MAAM,IAAI,CAACZ,QAAQ,CAACa,KAAK,CAACC,wBAAwB,CAACT,EAAE,CAAC;IAC7G,IAAIU,uBAAuB;IAC3B,IAAI;MACF;MACA;MACA;MACA;MACA,MAAM;QAAEC,UAAU;QAAEC;MAAkB,CAAC,GAAG,MAAM,IAAI,CAACjB,QAAQ,CAACkB,cAAc,CAC1E,KAAIC,8BAAe,EAACd,EAAE,CAACe,aAAa,CAACC,mBAAM,CAAC,CAC9C,CAAC;MACD,IAAIJ,iBAAiB,CAACK,MAAM,EAAE;QAC5BhB,MAAM,CAACiB,OAAO,GAAG,IAAI;QACrB,OAAOjB,MAAM;MACf;MACAS,uBAAuB,GAAGC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,OAAOQ,GAAQ,EAAE;MACjB,IACEA,GAAG,YAAYC,oCAAyB,IACxCD,GAAG,YAAYE,kCAAuB,IACtCF,GAAG,YAAYG,oCAAsB,EACrC;QACA;QACA,IAAIf,kBAAkB,EAAEN,MAAM,CAACiB,OAAO,GAAG,IAAI,CAAC,KACzCjB,MAAM,CAACsB,QAAQ,GAAG,IAAI;QAC3B,OAAOtB,MAAM;MACf;MACA,IAAIkB,GAAG,YAAYK,kCAAuB,EAAE;QAC1CvB,MAAM,CAACwB,gBAAgB;QACvB,OAAOxB,MAAM;MACf;MACA,MAAMkB,GAAG;IACX;IACA,IAAI,CAACZ,kBAAkB,EAAE;MACvBN,MAAM,CAACyB,YAAY,GAAG,IAAI;MAC1B,OAAOzB,MAAM;IACf;IACA,IAAIM,kBAAkB,CAACoB,kCAAkC,CAAC,IAAI,CAAC,KAAKC,8BAAY,EAAE;MAChF3B,MAAM,CAACyB,YAAY,GAAG,IAAI;MAC1B,OAAOzB,MAAM;IACf;IAEA,MAAM4B,IAAI,GAAG,MAAM,IAAI,CAAClC,QAAQ,CAACmC,oBAAoB,CAAC,CAAC;IACvD,MAAMvB,kBAAkB,CAACwB,cAAc,CAAC,IAAI,CAACpC,QAAQ,CAACa,KAAK,CAACwB,OAAO,CAAC;IACpE/B,MAAM,CAACgC,MAAM,GAAG,MAAM1B,kBAAkB,CAAC2B,gBAAgB,CAAC,IAAI,CAACvC,QAAQ,CAACa,KAAK,CAACwB,OAAO,EAAEH,IAAI,CAAC;IAC5F,MAAMM,aAAa,GAAGzB,uBAAuB,CAACV,EAAE,CAACoC,OAAO;IACxD,MAAMC,KAAK,GAAGrC,EAAE,CAACK,QAAQ,CAAC,CAAC;IAC3B,IAAI,CAACK,uBAAuB,CAACV,EAAE,CAACsC,UAAU,CAAC,CAAC,EAAE;MAC5C,MAAM,KAAIC,6BAAkB,EAACF,KAAK,CAAC;IACrC;IACA;IACA;IACA;IACA,MAAMG,UAAU,GAAGjC,kBAAkB,CAACkC,MAAM,CAACN,aAAa,CAAC;IAC3D,IAAI,CAACK,UAAU,EAAE,MAAM,KAAIE,oBAAQ,EAAE,WAAUP,aAAc,qBAAoBE,KAAM,EAAC,CAAC;IACzF,MAAMM,gBAAgB,GAAG,MAAM,IAAI,CAAChD,QAAQ,CAACa,KAAK,CAACoC,SAAS,CAACJ,UAAU,CAACK,IAAI,CAAC;IAC7E,IAAI,CAACF,gBAAgB,EAAE;MACrB,MAAM,KAAID,oBAAQ,EAAE,0BAAyBP,aAAc,OAAME,KAAM,iBAAgB,CAAC;IAC1F;IACA;IACApC,MAAM,CAAC6C,QAAQ,GAAG,MAAM,IAAI,CAACnD,QAAQ,CAACoD,mBAAmB,CAACJ,gBAAgB,EAAEjC,uBAAuB,CAAC;IACpG,OAAOT,MAAM;EACf;EAEA+C,sBAAsBA,CAAChD,EAAe,EAAE;IACtC,OAAO,IAAI,CAACI,sBAAsB,CAACJ,EAAE,CAACK,QAAQ,CAAC,CAAC,CAAC;EACnD;EAEA4C,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC7C,sBAAsB,GAAG,CAAC,CAAC;EAClC;AACF;AAAC8C,OAAA,CAAA1D,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_componentId","_bitError","_modelComponent","_constants","_exceptions","_componentsPendingImport","_componentNotFoundInPath","_missingFilesFromComponent","_componentOutOfSync","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","ComponentStatusLoader","constructor","workspace","consumer","getManyComponentsStatuses","ids","results","mapSeries","id","status","getComponentStatusById","push","_componentsStatusCache","toString","result","getStatus","componentFromModel","scope","getModelComponentIfExist","componentFromFileSystem","components","removedComponents","loadComponents","ComponentIdList","changeVersion","LATEST","length","deleted","err","MissingFilesFromComponent","ComponentNotFoundInPath","MissingBitMapComponent","notExist","ComponentsPendingImport","missingFromScope","newlyCreated","getHeadRegardlessOfLaneAsTagOrHash","VERSION_ZERO","lane","getCurrentLaneObject","setDivergeData","objects","staged","isLocallyChanged","versionFromFs","version","idStr","hasVersion","ComponentOutOfSync","versionRef","getRef","BitError","versionFromModel","getObject","hash","modified","isComponentModified","clearOneComponentCache","clearCache","exports"],"sources":["component-status-loader.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport { ComponentID, ComponentIdList } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { VERSION_ZERO } from '@teambit/legacy/dist/scope/models/model-component';\nimport { Consumer } from '@teambit/legacy/dist/consumer';\nimport { LATEST } from '@teambit/legacy/dist/constants';\nimport { ModelComponent } from '@teambit/legacy/dist/scope/models';\nimport { MissingBitMapComponent } from '@teambit/legacy/dist/consumer/bit-map/exceptions';\nimport ComponentsPendingImport from '@teambit/legacy/dist/consumer/component-ops/exceptions/components-pending-import';\nimport ComponentNotFoundInPath from '@teambit/legacy/dist/consumer/component/exceptions/component-not-found-in-path';\nimport MissingFilesFromComponent from '@teambit/legacy/dist/consumer/component/exceptions/missing-files-from-component';\nimport ComponentOutOfSync from '@teambit/legacy/dist/consumer/exceptions/component-out-of-sync';\nimport { Workspace } from '..';\n\nexport type ComponentStatusLegacy = {\n modified: boolean;\n newlyCreated: boolean;\n deleted: boolean;\n staged: boolean;\n notExist: boolean;\n missingFromScope: boolean;\n};\n\nexport type ComponentStatusResult = { id: ComponentID; status: ComponentStatusLegacy };\n\nexport class ComponentStatusLoader {\n private _componentsStatusCache: Record<string, any> = {}; // cache loaded components\n constructor(private workspace: Workspace) {}\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n async getManyComponentsStatuses(ids: ComponentID[]): Promise<ComponentStatusResult[]> {\n const results: ComponentStatusResult[] = [];\n await mapSeries(ids, async (id) => {\n const status = await this.getComponentStatusById(id);\n results.push({ id, status });\n });\n return results;\n }\n\n /**\n * Get a component status by ID. Return a ComponentStatus object.\n * Keep in mind that a result can be a partial object of ComponentStatus, e.g. { notExist: true }.\n * Each one of the ComponentStatus properties can be undefined, true or false.\n * As a result, in order to check whether a component is not modified use (status.modified === false).\n * Don't use (!status.modified) because a component may not exist and the status.modified will be undefined.\n *\n * The status may have 'true' for several properties. For example, a component can be staged and modified at the\n * same time.\n *\n * The result is cached per ID and can be called several times with no penalties.\n */\n async getComponentStatusById(id: ComponentID): Promise<ComponentStatusLegacy> {\n if (!this._componentsStatusCache[id.toString()]) {\n // don't do this: `this._componentsStatusCache[id.toString()] = await this.getStatus(id);`\n // yes, it doesn't make sense right? turns out that \"getStatus\" can call `linkIfMissingWorkspaceAspects` which\n // calls `linkToNodeModulesByIds` which deletes this cache. and makes this: `this._componentsStatusCache[id.toString()]` undefined.\n const result = await this.getStatus(id);\n this._componentsStatusCache[id.toString()] = result;\n }\n return this._componentsStatusCache[id.toString()];\n }\n\n private async getStatus(id: ComponentID) {\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n const status: ComponentStatusLegacy = {};\n const componentFromModel: ModelComponent | undefined = await this.consumer.scope.getModelComponentIfExist(id);\n let componentFromFileSystem;\n try {\n // change to 'latest' before loading from FS. don't change to null, otherwise, it'll cause\n // loadOne to not find model component as it assumes there is no version\n // also, don't leave the id as is, otherwise, it'll cause issues with import --merge, when\n // imported version is bigger than .bitmap, it won't find it and will consider as deleted\n const { components, removedComponents } = await this.consumer.loadComponents(\n new ComponentIdList(id.changeVersion(LATEST))\n );\n if (removedComponents.length) {\n status.deleted = true;\n return status;\n }\n componentFromFileSystem = components[0];\n } catch (err: any) {\n if (\n err instanceof MissingFilesFromComponent ||\n err instanceof ComponentNotFoundInPath ||\n err instanceof MissingBitMapComponent\n ) {\n // the file/s have been deleted or the component doesn't exist in bit.map file\n if (componentFromModel) status.deleted = true;\n else status.notExist = true;\n return status;\n }\n if (err instanceof ComponentsPendingImport) {\n status.missingFromScope;\n return status;\n }\n throw err;\n }\n if (!componentFromModel) {\n status.newlyCreated = true;\n return status;\n }\n if (componentFromModel.getHeadRegardlessOfLaneAsTagOrHash(true) === VERSION_ZERO) {\n status.newlyCreated = true;\n return status;\n }\n\n const lane = await this.consumer.getCurrentLaneObject();\n await componentFromModel.setDivergeData(this.consumer.scope.objects);\n status.staged = await componentFromModel.isLocallyChanged(this.consumer.scope.objects, lane);\n const versionFromFs = componentFromFileSystem.id.version;\n const idStr = id.toString();\n if (!componentFromFileSystem.id.hasVersion()) {\n throw new ComponentOutOfSync(idStr);\n }\n // TODO: instead of doing that like this we should use:\n // const versionFromModel = await componentFromModel.loadVersion(versionFromFs, this.consumer.scope.objects);\n // it looks like it's exactly the same code but it's not working from some reason\n const versionRef = componentFromModel.getRef(versionFromFs);\n if (!versionRef) throw new BitError(`version ${versionFromFs} was not found in ${idStr}`);\n const versionFromModel = await this.consumer.scope.getObject(versionRef.hash);\n if (!versionFromModel) {\n throw new BitError(`failed loading version ${versionFromFs} of ${idStr} from the scope`);\n }\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n status.modified = await this.consumer.isComponentModified(versionFromModel, componentFromFileSystem);\n return status;\n }\n\n clearOneComponentCache(id: ComponentID) {\n delete this._componentsStatusCache[id.toString()];\n }\n\n clearCache() {\n this._componentsStatusCache = {};\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const Logo: () => JSX.Element;
package/dist/workspace.js CHANGED
@@ -803,15 +803,14 @@ it's possible that the version ${component.id.version} belong to ${idStr.split('
803
803
  return _sources().SourceFile.load(filePath, compDirAbs, this.path, {});
804
804
  });
805
805
  const repo = this.scope.legacyScope.objects;
806
- const getHeadFiles = async () => {
806
+ const getModelFiles = async () => {
807
807
  const modelComp = await this.scope.legacyScope.getModelComponentIfExist(id);
808
808
  if (!modelComp) return [];
809
- const head = modelComp.getHeadRegardlessOfLane();
810
- if (!head) return [];
811
- const verObj = await modelComp.loadVersion(head.toString(), repo);
809
+ if (!bitMapEntry.id.hasVersion()) return [];
810
+ const verObj = await modelComp.loadVersion(bitMapEntry.id.version, repo);
812
811
  return verObj.files;
813
812
  };
814
- return new (_compFiles().CompFiles)(id, repo, sourceFilesVinyls, compDir, await getHeadFiles());
813
+ return new (_compFiles().CompFiles)(id, repo, sourceFilesVinyls, compDir, await getModelFiles());
815
814
  }
816
815
 
817
816
  /**