@teambit/component 0.0.588 → 0.0.589

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,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { MemoryFS } from '@teambit/any-fs';
2
3
  import type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
3
4
  /**
@@ -25,7 +26,9 @@ export default class ComponentFS extends MemoryFS {
25
26
  * filter all files using an array of glob patterns.
26
27
  */
27
28
  byGlob(patterns: string[]): AbstractVinyl[];
28
- toObject(): void;
29
- toJSON(): void;
29
+ toObject(): {
30
+ path: string;
31
+ contents: Buffer;
32
+ }[];
30
33
  static fromVinyls(files: AbstractVinyl[]): ComponentFS;
31
34
  }
@@ -91,9 +91,14 @@ class ComponentFS extends _anyFs().MemoryFS {
91
91
  });
92
92
  }
93
93
 
94
- toObject() {}
95
-
96
- toJSON() {}
94
+ toObject() {
95
+ return this.files.map(file => {
96
+ return {
97
+ path: file.path,
98
+ contents: file.contents
99
+ };
100
+ });
101
+ }
97
102
 
98
103
  static fromVinyls(files) {
99
104
  const fs = new ComponentFS(files);
@@ -1 +1 @@
1
- {"version":3,"sources":["component-fs.ts"],"names":["ComponentFS","MemoryFS","constructor","files","hash","byRegex","extension","filter","file","path","match","byGlob","patterns","find","pattern","relative","toObject","toJSON","fromVinyls","fs","forEach","dirPath","relativeDir","startsWith","join","mkdirpSync","writeFileSync","contents"],"mappings":";;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AACA;AACA;AACe,MAAMA,WAAN,SAA0BC,iBAA1B,CAAmC;AAChDC,EAAAA,WAAW;AACT;AACJ;AACA;AACaC,EAAAA,KAJA,EAKT;AACA;AADA,SADSA,KACT,GADSA,KACT;AAED;AACD;AACF;AACA;;;AACU,MAAJC,IAAI,GAAG;AACT,WAAO,EAAP;AACD;AAED;AACF;AACA;;;AACEC,EAAAA,OAAO,CAACC,SAAD,EAAqC;AAC1C,WAAO,KAAKH,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAUA,IAAI,CAACC,IAAL,CAAUC,KAAV,CAAgBJ,SAAhB,CAA5B,CAAP;AACD;AAED;AACF;AACA;;;AACEK,EAAAA,MAAM,CAACC,QAAD,EAAqB;AACzB,WAAO,KAAKT,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAU;AACjC,aAAOI,QAAQ,CAACC,IAAT,CAAeC,OAAD,IAAa;AAChC,cAAMJ,KAAK,GAAG,0BAAUF,IAAI,CAACO,QAAf,EAAyBD,OAAzB,CAAd;AACA,eAAOJ,KAAP;AACD,OAHM,CAAP;AAID,KALM,CAAP;AAMD;;AAEDM,EAAAA,QAAQ,GAAG,CAAE;;AAEbC,EAAAA,MAAM,GAAG,CAAE;;AAEM,SAAVC,UAAU,CAACf,KAAD,EAAyB;AACxC,UAAMgB,EAAE,GAAG,IAAInB,WAAJ,CAAgBG,KAAhB,CAAX;AACAA,IAAAA,KAAK,CAACiB,OAAN,CAAeZ,IAAD,IAAU;AACtB,UAAIa,OAAO,GAAGb,IAAI,CAACc,WAAnB;AACA,UAAI,CAACD,OAAO,CAACE,UAAR,CAAmB,GAAnB,CAAL,EAA8BF,OAAO,GAAGZ,gBAAKe,IAAL,CAAU,GAAV,EAAeH,OAAf,CAAV;AAC9BF,MAAAA,EAAE,CAACM,UAAH,CAAcJ,OAAd;AACAF,MAAAA,EAAE,CAACO,aAAH,CAAkB,IAAGlB,IAAI,CAACO,QAAS,EAAnC,EAAsC,iBAAKP,IAAI,CAACmB,QAAL,IAAiB,EAAtB,CAAtC;AACD,KALD;AAOA,WAAOR,EAAP;AACD;;AAjD+C","sourcesContent":["import { MemoryFS } from '@teambit/any-fs';\nimport type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { auto } from '@teambit/legacy/dist/utils/eol';\nimport path from 'path';\nimport minimatch from 'minimatch';\n\n/**\n * The virtual component filesystem\n */\nexport default class ComponentFS extends MemoryFS {\n constructor(\n /**\n * array of all fs files.\n */\n readonly files: AbstractVinyl[]\n ) {\n super();\n }\n /**\n * hash to represent all contents within this filesystem volume.\n */\n get hash() {\n return '';\n }\n\n /**\n * filter all component files by regex.\n */\n byRegex(extension: RegExp): AbstractVinyl[] {\n return this.files.filter((file) => file.path.match(extension));\n }\n\n /**\n * filter all files using an array of glob patterns.\n */\n byGlob(patterns: string[]) {\n return this.files.filter((file) => {\n return patterns.find((pattern) => {\n const match = minimatch(file.relative, pattern);\n return match;\n });\n });\n }\n\n toObject() {}\n\n toJSON() {}\n\n static fromVinyls(files: AbstractVinyl[]) {\n const fs = new ComponentFS(files);\n files.forEach((file) => {\n let dirPath = file.relativeDir;\n if (!dirPath.startsWith('/')) dirPath = path.join('/', dirPath);\n fs.mkdirpSync(dirPath);\n fs.writeFileSync(`/${file.relative}`, auto(file.contents || ''));\n });\n\n return fs;\n }\n}\n"]}
1
+ {"version":3,"sources":["component-fs.ts"],"names":["ComponentFS","MemoryFS","constructor","files","hash","byRegex","extension","filter","file","path","match","byGlob","patterns","find","pattern","relative","toObject","map","contents","fromVinyls","fs","forEach","dirPath","relativeDir","startsWith","join","mkdirpSync","writeFileSync"],"mappings":";;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AACA;AACA;AACe,MAAMA,WAAN,SAA0BC,iBAA1B,CAAmC;AAChDC,EAAAA,WAAW;AACT;AACJ;AACA;AACaC,EAAAA,KAJA,EAKT;AACA;AADA,SADSA,KACT,GADSA,KACT;AAED;AACD;AACF;AACA;;;AACU,MAAJC,IAAI,GAAG;AACT,WAAO,EAAP;AACD;AAED;AACF;AACA;;;AACEC,EAAAA,OAAO,CAACC,SAAD,EAAqC;AAC1C,WAAO,KAAKH,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAUA,IAAI,CAACC,IAAL,CAAUC,KAAV,CAAgBJ,SAAhB,CAA5B,CAAP;AACD;AAED;AACF;AACA;;;AACEK,EAAAA,MAAM,CAACC,QAAD,EAAqB;AACzB,WAAO,KAAKT,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAU;AACjC,aAAOI,QAAQ,CAACC,IAAT,CAAeC,OAAD,IAAa;AAChC,cAAMJ,KAAK,GAAG,0BAAUF,IAAI,CAACO,QAAf,EAAyBD,OAAzB,CAAd;AACA,eAAOJ,KAAP;AACD,OAHM,CAAP;AAID,KALM,CAAP;AAMD;;AAEDM,EAAAA,QAAQ,GAAG;AACT,WAAO,KAAKb,KAAL,CAAWc,GAAX,CAAgBT,IAAD,IAAU;AAC9B,aAAO;AACLC,QAAAA,IAAI,EAAED,IAAI,CAACC,IADN;AAELS,QAAAA,QAAQ,EAAEV,IAAI,CAACU;AAFV,OAAP;AAID,KALM,CAAP;AAMD;;AAEgB,SAAVC,UAAU,CAAChB,KAAD,EAAyB;AACxC,UAAMiB,EAAE,GAAG,IAAIpB,WAAJ,CAAgBG,KAAhB,CAAX;AACAA,IAAAA,KAAK,CAACkB,OAAN,CAAeb,IAAD,IAAU;AACtB,UAAIc,OAAO,GAAGd,IAAI,CAACe,WAAnB;AACA,UAAI,CAACD,OAAO,CAACE,UAAR,CAAmB,GAAnB,CAAL,EAA8BF,OAAO,GAAGb,gBAAKgB,IAAL,CAAU,GAAV,EAAeH,OAAf,CAAV;AAC9BF,MAAAA,EAAE,CAACM,UAAH,CAAcJ,OAAd;AACAF,MAAAA,EAAE,CAACO,aAAH,CAAkB,IAAGnB,IAAI,CAACO,QAAS,EAAnC,EAAsC,iBAAKP,IAAI,CAACU,QAAL,IAAiB,EAAtB,CAAtC;AACD,KALD;AAOA,WAAOE,EAAP;AACD;;AAtD+C","sourcesContent":["import { MemoryFS } from '@teambit/any-fs';\nimport type { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { auto } from '@teambit/legacy/dist/utils/eol';\nimport path from 'path';\nimport minimatch from 'minimatch';\n\n/**\n * The virtual component filesystem\n */\nexport default class ComponentFS extends MemoryFS {\n constructor(\n /**\n * array of all fs files.\n */\n readonly files: AbstractVinyl[]\n ) {\n super();\n }\n /**\n * hash to represent all contents within this filesystem volume.\n */\n get hash() {\n return '';\n }\n\n /**\n * filter all component files by regex.\n */\n byRegex(extension: RegExp): AbstractVinyl[] {\n return this.files.filter((file) => file.path.match(extension));\n }\n\n /**\n * filter all files using an array of glob patterns.\n */\n byGlob(patterns: string[]) {\n return this.files.filter((file) => {\n return patterns.find((pattern) => {\n const match = minimatch(file.relative, pattern);\n return match;\n });\n });\n }\n\n toObject() {\n return this.files.map((file) => {\n return {\n path: file.path,\n contents: file.contents,\n };\n });\n }\n\n static fromVinyls(files: AbstractVinyl[]) {\n const fs = new ComponentFS(files);\n files.forEach((file) => {\n let dirPath = file.relativeDir;\n if (!dirPath.startsWith('/')) dirPath = path.join('/', dirPath);\n fs.mkdirpSync(dirPath);\n fs.writeFileSync(`/${file.relative}`, auto(file.contents || ''));\n });\n\n return fs;\n }\n}\n"]}
@@ -62,6 +62,7 @@ export declare class Component {
62
62
  * the component factory
63
63
  */
64
64
  factory: ComponentFactory);
65
+ get mainFile(): import("@teambit/legacy/dist/consumer/component/sources").AbstractVinyl;
65
66
  get state(): State;
66
67
  set state(state: State);
67
68
  /**
package/dist/component.js CHANGED
@@ -55,9 +55,9 @@ function _exceptions() {
55
55
  return data;
56
56
  }
57
57
 
58
- function _asyncIterator(iterable) { var method, async, sync, retry = 2; if (typeof Symbol !== "undefined") { async = Symbol.asyncIterator; sync = Symbol.iterator; } while (retry--) { if (async && (method = iterable[async]) != null) { return method.call(iterable); } if (sync && (method = iterable[sync]) != null) { return new AsyncFromSyncIterator(method.call(iterable)); } async = "@@asyncIterator"; sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
58
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
59
59
 
60
- function AsyncFromSyncIterator(s) { AsyncFromSyncIterator = function (s) { this.s = s; this.n = s.next; }; AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (value) { var ret = this.s.return; if (ret === undefined) { return Promise.resolve({ value: value, done: true }); } return AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function (value) { var thr = this.s.return; if (thr === undefined) return Promise.reject(value); return AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }; function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) { return Promise.reject(new TypeError(r + " is not an object.")); } var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return new AsyncFromSyncIterator(s); }
60
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function (s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function () { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function (value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function (value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
61
61
 
62
62
  /**
63
63
  * in-memory representation of a component.
@@ -91,6 +91,10 @@ class Component {
91
91
  this.factory = factory;
92
92
  }
93
93
 
94
+ get mainFile() {
95
+ return this.state.mainFile;
96
+ }
97
+
94
98
  get state() {
95
99
  return this._state;
96
100
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["component.ts"],"names":["Component","constructor","id","head","_state","tags","TagMap","factory","state","config","filesystem","buildStatus","_consumer","headTag","undefined","byHash","hash","latest","getLatest","err","CouldNotFindLatest","toString","stringify","JSON","displayName","tokens","name","split","map","token","join","tag","version","isModified","Promise","resolve","isOutdated","latestTag","byVersion","isNew","loadState","snapId","getState","loadSnap","snapToGet","BitError","getSnap","snapsIterable","options","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","snap","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","get","checkout","write","path","fs","equals","component"],"mappings":"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","sourcesContent":["import { AnyFS } from '@teambit/any-fs';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport { SemVer } from 'semver';\nimport { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildStatus } from '@teambit/legacy/dist/constants';\n\nimport { ComponentFactory } from './component-factory';\nimport ComponentFS from './component-fs';\n// import { NothingToSnap } from './exceptions';\nimport ComponentConfig from './config';\n// eslint-disable-next-line import/no-cycle\nimport { Snap } from './snap';\nimport { State } from './state';\nimport { TagMap } from './tag-map';\nimport { Tag } from './tag';\nimport { CouldNotFindLatest } from './exceptions';\n// import { Author } from './types';\n\ntype SnapsIterableOpts = {\n firstParentOnly?: boolean;\n stopFn?: (snap: Snap) => Promise<boolean>;\n};\n\nexport type InvalidComponent = { id: ComponentID; err: Error };\n\n/**\n * in-memory representation of a component.\n */\nexport class Component {\n constructor(\n /**\n * component ID represented by the `ComponentId` type.\n */\n readonly id: ComponentID,\n\n /**\n * head version of the component. can be `null` for new components.\n */\n readonly head: Snap | null = null,\n\n /**\n * state of the component.\n */\n private _state: State,\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap = new TagMap(),\n\n /**\n * the component factory\n */\n private factory: ComponentFactory\n ) {}\n\n get state(): State {\n return this._state;\n }\n\n set state(state: State) {\n this._state = state;\n }\n\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n */\n get config(): ComponentConfig {\n return this.state.config;\n }\n\n /**\n * in-memory representation of the component current filesystem.\n */\n get filesystem(): ComponentFS {\n return this.state.filesystem;\n }\n\n /**\n * build status of the component\n */\n get buildStatus(): BuildStatus {\n return this._state._consumer.buildStatus;\n }\n\n get headTag() {\n if (!this.head) return undefined;\n return this.tags.byHash(this.head.hash);\n }\n\n get latest(): string | undefined {\n if (!this.head) return undefined;\n try {\n return this.tags.getLatest();\n } catch (err: any) {\n if (err instanceof CouldNotFindLatest) {\n return this.head.toString();\n }\n throw err;\n }\n }\n\n stringify(): string {\n return JSON.stringify({\n id: this.id,\n head: this.head,\n });\n }\n\n /**\n * record component changes in the `Scope`.\n */\n // snap(author: Author, message = '') {\n // if (!this.isModified()) throw new NothingToSnap();\n // const snap = new Snap(this, author, message);\n\n // return new Component(this.id, snap, snap.state);\n // }\n\n /**\n * display name of the component.\n */\n get displayName() {\n const tokens = this.id.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n /**\n * tag a component `Snap` with a semantic version. we follow SemVer specs as defined [here](https://semver.org/)).\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tag(version: SemVer) {\n // const snap = this.snap();\n // const tag = new Tag(version, snap);\n // this.tags.set(tag);\n }\n\n /**\n * determines whether this component is modified in the workspace.\n */\n isModified(): Promise<boolean> {\n if (!this.head) return Promise.resolve(true);\n return Promise.resolve(this.state.isModified);\n // return Promise.resolve(this.state.hash !== this.head.hash);\n }\n\n /**\n * is component isOutdated\n */\n isOutdated(): boolean {\n if (!this.latest) return false;\n const latestTag = this.tags.byVersion(this.latest);\n if (!latestTag) return false;\n if (this.head?.hash !== latestTag?.hash) return true;\n return false;\n }\n\n /**\n * determines whether this component is new.\n */\n isNew(): Promise<boolean> {\n return Promise.resolve(this.head === null);\n }\n\n // TODO: @david after snap we need to make sure to refactor here.\n loadState(snapId: string): Promise<State> {\n return this.factory.getState(this.id, snapId);\n }\n\n loadSnap(snapId?: string): Promise<Snap> {\n const snapToGet = snapId || this.head?.hash;\n if (!snapToGet) {\n throw new BitError('could not load snap for new components');\n }\n return this.factory.getSnap(this.id, snapToGet);\n }\n\n /**\n * Get iterable which iterate over snap parents lazily\n * @param snapId\n * @param options\n */\n snapsIterable(snapId?: string, options: SnapsIterableOpts = {}): AsyncIterable<Snap> {\n const snapToStart = snapId || this.head?.hash;\n let nextSnaps = [snapToStart];\n let done;\n if (!snapToStart) {\n done = true;\n }\n\n const iterator: AsyncIterator<Snap> = {\n next: async () => {\n if (done) {\n return { value: undefined, done };\n }\n const currSnapId = nextSnaps.shift();\n const snap = await this.loadSnap(currSnapId);\n if (snap.parents && snap.parents.length) {\n if (options.firstParentOnly) {\n nextSnaps.push(snap.parents[0]);\n } else {\n nextSnaps = nextSnaps.concat(snap.parents);\n }\n }\n if (!nextSnaps.length) {\n done = true;\n } else if (options.stopFn) {\n done = await options.stopFn(snap);\n }\n return { value: snap, done: undefined };\n },\n };\n return {\n [Symbol.asyncIterator]: () => iterator,\n };\n }\n\n /**\n * traverse recursively from the provided snap (or head) upwards until it finds a tag\n * @param snapToStartFrom\n */\n async getClosestTag(snapToStartFrom?: string): Promise<Tag | undefined> {\n const tagsHashMap = this.tags.getHashMap();\n const stopFn = async (snap: Snap) => {\n if (tagsHashMap.has(snap.hash)) {\n return true;\n }\n return false;\n };\n const iterable = this.snapsIterable(snapToStartFrom, { firstParentOnly: true, stopFn });\n const snaps: Snap[] = [];\n for await (const snap of iterable) {\n snaps.push(snap);\n }\n if (snaps.length) {\n const hashOfLastSnap = snaps[snaps.length - 1].hash;\n return tagsHashMap.get(hashOfLastSnap);\n }\n return undefined;\n }\n\n /**\n * checkout the component to a different version in its working tree.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n checkout(version: SemVer) {}\n\n /**\n * examine difference between two components.\n */\n // diff(other: Component): Difference {}\n\n /**\n * merge two different components\n */\n // merge(other: Component): Component {}\n\n /**\n * write a component to a given file system.\n * @param path root path to write the component\n * @param fs instance of any fs to use.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n write(path: string, fs?: AnyFS) {}\n\n /**\n *\n * Check if 2 components are equal\n * @param {Component} component\n * @returns {boolean}\n * @memberof Component\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n equals(component: Component): boolean {\n return component.id.toString() === this.id.toString();\n }\n}\n"]}
1
+ {"version":3,"sources":["component.ts"],"names":["Component","constructor","id","head","_state","tags","TagMap","factory","mainFile","state","config","filesystem","buildStatus","_consumer","headTag","undefined","byHash","hash","latest","getLatest","err","CouldNotFindLatest","toString","stringify","JSON","displayName","tokens","name","split","map","token","join","tag","version","isModified","Promise","resolve","isOutdated","latestTag","byVersion","isNew","loadState","snapId","getState","loadSnap","snapToGet","BitError","getSnap","snapsIterable","options","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","snap","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","get","checkout","write","path","fs","equals","component"],"mappings":";;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAUA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;AAUA;AACA;AACA;AACO,MAAMA,SAAN,CAAgB;AACrBC,EAAAA,WAAW;AACT;AACJ;AACA;AACaC,EAAAA,EAJA;AAMT;AACJ;AACA;AACaC,EAAAA,IAAiB,GAAG,IATpB;AAWT;AACJ;AACA;AACYC,EAAAA,MAdC;AAgBT;AACJ;AACA;AACaC,EAAAA,IAAY,GAAG,KAAIC,gBAAJ,GAnBf;AAqBT;AACJ;AACA;AACYC,EAAAA,OAxBC,EAyBT;AAAA,SArBSL,EAqBT,GArBSA,EAqBT;AAAA,SAhBSC,IAgBT,GAhBSA,IAgBT;AAAA,SAXQC,MAWR,GAXQA,MAWR;AAAA,SANSC,IAMT,GANSA,IAMT;AAAA,SADQE,OACR,GADQA,OACR;AAAE;;AAEQ,MAARC,QAAQ,GAAG;AACb,WAAO,KAAKC,KAAL,CAAWD,QAAlB;AACD;;AAEQ,MAALC,KAAK,GAAU;AACjB,WAAO,KAAKL,MAAZ;AACD;;AAEQ,MAALK,KAAK,CAACA,KAAD,EAAe;AACtB,SAAKL,MAAL,GAAcK,KAAd;AACD;AAED;AACF;AACA;;;AACY,MAANC,MAAM,GAAoB;AAC5B,WAAO,KAAKD,KAAL,CAAWC,MAAlB;AACD;AAED;AACF;AACA;;;AACgB,MAAVC,UAAU,GAAgB;AAC5B,WAAO,KAAKF,KAAL,CAAWE,UAAlB;AACD;AAED;AACF;AACA;;;AACiB,MAAXC,WAAW,GAAgB;AAC7B,WAAO,KAAKR,MAAL,CAAYS,SAAZ,CAAsBD,WAA7B;AACD;;AAEU,MAAPE,OAAO,GAAG;AACZ,QAAI,CAAC,KAAKX,IAAV,EAAgB,OAAOY,SAAP;AAChB,WAAO,KAAKV,IAAL,CAAUW,MAAV,CAAiB,KAAKb,IAAL,CAAUc,IAA3B,CAAP;AACD;;AAES,MAANC,MAAM,GAAuB;AAC/B,QAAI,CAAC,KAAKf,IAAV,EAAgB,OAAOY,SAAP;;AAChB,QAAI;AACF,aAAO,KAAKV,IAAL,CAAUc,SAAV,EAAP;AACD,KAFD,CAEE,OAAOC,GAAP,EAAiB;AACjB,UAAIA,GAAG,YAAYC,gCAAnB,EAAuC;AACrC,eAAO,KAAKlB,IAAL,CAAUmB,QAAV,EAAP;AACD;;AACD,YAAMF,GAAN;AACD;AACF;;AAEDG,EAAAA,SAAS,GAAW;AAClB,WAAOC,IAAI,CAACD,SAAL,CAAe;AACpBrB,MAAAA,EAAE,EAAE,KAAKA,EADW;AAEpBC,MAAAA,IAAI,EAAE,KAAKA;AAFS,KAAf,CAAP;AAID;AAED;AACF;AACA;AACE;AACA;AACA;AAEA;AACA;;AAEA;AACF;AACA;;;AACiB,MAAXsB,WAAW,GAAG;AAChB,UAAMC,MAAM,GAAG,KAAKxB,EAAL,CAAQyB,IAAR,CAAaC,KAAb,CAAmB,GAAnB,EAAwBC,GAAxB,CAA6BC,KAAD,IAAW,iCAAWA,KAAX,CAAvC,CAAf;AACA,WAAOJ,MAAM,CAACK,IAAP,CAAY,GAAZ,CAAP;AACD;AAED;AACF;AACA;AACE;;;AACAC,EAAAA,GAAG,CAACC,OAAD,EAAkB,CACnB;AACA;AACA;AACD;AAED;AACF;AACA;;;AACEC,EAAAA,UAAU,GAAqB;AAC7B,QAAI,CAAC,KAAK/B,IAAV,EAAgB,OAAOgC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AAChB,WAAOD,OAAO,CAACC,OAAR,CAAgB,KAAK3B,KAAL,CAAWyB,UAA3B,CAAP,CAF6B,CAG7B;AACD;AAED;AACF;AACA;;;AACEG,EAAAA,UAAU,GAAY;AAAA;;AACpB,QAAI,CAAC,KAAKnB,MAAV,EAAkB,OAAO,KAAP;AAClB,UAAMoB,SAAS,GAAG,KAAKjC,IAAL,CAAUkC,SAAV,CAAoB,KAAKrB,MAAzB,CAAlB;AACA,QAAI,CAACoB,SAAL,EAAgB,OAAO,KAAP;AAChB,QAAI,oBAAKnC,IAAL,0DAAWc,IAAX,OAAoBqB,SAApB,aAAoBA,SAApB,uBAAoBA,SAAS,CAAErB,IAA/B,CAAJ,EAAyC,OAAO,IAAP;AACzC,WAAO,KAAP;AACD;AAED;AACF;AACA;;;AACEuB,EAAAA,KAAK,GAAqB;AACxB,WAAOL,OAAO,CAACC,OAAR,CAAgB,KAAKjC,IAAL,KAAc,IAA9B,CAAP;AACD,GA1IoB,CA4IrB;;;AACAsC,EAAAA,SAAS,CAACC,MAAD,EAAiC;AACxC,WAAO,KAAKnC,OAAL,CAAaoC,QAAb,CAAsB,KAAKzC,EAA3B,EAA+BwC,MAA/B,CAAP;AACD;;AAEDE,EAAAA,QAAQ,CAACF,MAAD,EAAiC;AAAA;;AACvC,UAAMG,SAAS,GAAGH,MAAM,oBAAI,KAAKvC,IAAT,gDAAI,YAAWc,IAAf,CAAxB;;AACA,QAAI,CAAC4B,SAAL,EAAgB;AACd,YAAM,KAAIC,oBAAJ,EAAa,wCAAb,CAAN;AACD;;AACD,WAAO,KAAKvC,OAAL,CAAawC,OAAb,CAAqB,KAAK7C,EAA1B,EAA8B2C,SAA9B,CAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;AACEG,EAAAA,aAAa,CAACN,MAAD,EAAkBO,OAA0B,GAAG,EAA/C,EAAwE;AAAA;;AACnF,UAAMC,WAAW,GAAGR,MAAM,oBAAI,KAAKvC,IAAT,gDAAI,YAAWc,IAAf,CAA1B;AACA,QAAIkC,SAAS,GAAG,CAACD,WAAD,CAAhB;AACA,QAAIE,IAAJ;;AACA,QAAI,CAACF,WAAL,EAAkB;AAChBE,MAAAA,IAAI,GAAG,IAAP;AACD;;AAED,UAAMC,QAA6B,GAAG;AACpCC,MAAAA,IAAI,EAAE,YAAY;AAChB,YAAIF,IAAJ,EAAU;AACR,iBAAO;AAAEG,YAAAA,KAAK,EAAExC,SAAT;AAAoBqC,YAAAA;AAApB,WAAP;AACD;;AACD,cAAMI,UAAU,GAAGL,SAAS,CAACM,KAAV,EAAnB;AACA,cAAMC,IAAI,GAAG,MAAM,KAAKd,QAAL,CAAcY,UAAd,CAAnB;;AACA,YAAIE,IAAI,CAACC,OAAL,IAAgBD,IAAI,CAACC,OAAL,CAAaC,MAAjC,EAAyC;AACvC,cAAIX,OAAO,CAACY,eAAZ,EAA6B;AAC3BV,YAAAA,SAAS,CAACW,IAAV,CAAeJ,IAAI,CAACC,OAAL,CAAa,CAAb,CAAf;AACD,WAFD,MAEO;AACLR,YAAAA,SAAS,GAAGA,SAAS,CAACY,MAAV,CAAiBL,IAAI,CAACC,OAAtB,CAAZ;AACD;AACF;;AACD,YAAI,CAACR,SAAS,CAACS,MAAf,EAAuB;AACrBR,UAAAA,IAAI,GAAG,IAAP;AACD,SAFD,MAEO,IAAIH,OAAO,CAACe,MAAZ,EAAoB;AACzBZ,UAAAA,IAAI,GAAG,MAAMH,OAAO,CAACe,MAAR,CAAeN,IAAf,CAAb;AACD;;AACD,eAAO;AAAEH,UAAAA,KAAK,EAAEG,IAAT;AAAeN,UAAAA,IAAI,EAAErC;AAArB,SAAP;AACD;AApBmC,KAAtC;AAsBA,WAAO;AACL,OAACkD,MAAM,CAACC,aAAR,GAAwB,MAAMb;AADzB,KAAP;AAGD;AAED;AACF;AACA;AACA;;;AACqB,QAAbc,aAAa,CAACC,eAAD,EAAqD;AACtE,UAAMC,WAAW,GAAG,KAAKhE,IAAL,CAAUiE,UAAV,EAApB;;AACA,UAAMN,MAAM,GAAG,MAAON,IAAP,IAAsB;AACnC,UAAIW,WAAW,CAACE,GAAZ,CAAgBb,IAAI,CAACzC,IAArB,CAAJ,EAAgC;AAC9B,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD,KALD;;AAMA,UAAMuD,QAAQ,GAAG,KAAKxB,aAAL,CAAmBoB,eAAnB,EAAoC;AAAEP,MAAAA,eAAe,EAAE,IAAnB;AAAyBG,MAAAA;AAAzB,KAApC,CAAjB;AACA,UAAMS,KAAa,GAAG,EAAtB;AATsE;AAAA;;AAAA;;AAAA;AAUtE,0CAAyBD,QAAzB,iHAAmC;AAAA,cAAlBd,IAAkB;AACjCe,QAAAA,KAAK,CAACX,IAAN,CAAWJ,IAAX;AACD;AAZqE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAatE,QAAIe,KAAK,CAACb,MAAV,EAAkB;AAChB,YAAMc,cAAc,GAAGD,KAAK,CAACA,KAAK,CAACb,MAAN,GAAe,CAAhB,CAAL,CAAwB3C,IAA/C;AACA,aAAOoD,WAAW,CAACM,GAAZ,CAAgBD,cAAhB,CAAP;AACD;;AACD,WAAO3D,SAAP;AACD;AAED;AACF;AACA;AACE;;;AACA6D,EAAAA,QAAQ,CAAC3C,OAAD,EAAkB,CAAE;AAE5B;AACF;AACA;AACE;;AAEA;AACF;AACA;AACE;;AAEA;AACF;AACA;AACA;AACA;AACE;;;AACA4C,EAAAA,KAAK,CAACC,IAAD,EAAeC,EAAf,EAA2B,CAAE;AAElC;AACF;AACA;AACA;AACA;AACA;AACA;AACE;;;AACAC,EAAAA,MAAM,CAACC,SAAD,EAAgC;AACpC,WAAOA,SAAS,CAAC/E,EAAV,CAAaoB,QAAb,OAA4B,KAAKpB,EAAL,CAAQoB,QAAR,EAAnC;AACD;;AA3PoB","sourcesContent":["import { AnyFS } from '@teambit/any-fs';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport { SemVer } from 'semver';\nimport { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport { BuildStatus } from '@teambit/legacy/dist/constants';\n\nimport { ComponentFactory } from './component-factory';\nimport ComponentFS from './component-fs';\n// import { NothingToSnap } from './exceptions';\nimport ComponentConfig from './config';\n// eslint-disable-next-line import/no-cycle\nimport { Snap } from './snap';\nimport { State } from './state';\nimport { TagMap } from './tag-map';\nimport { Tag } from './tag';\nimport { CouldNotFindLatest } from './exceptions';\n// import { Author } from './types';\n\ntype SnapsIterableOpts = {\n firstParentOnly?: boolean;\n stopFn?: (snap: Snap) => Promise<boolean>;\n};\n\nexport type InvalidComponent = { id: ComponentID; err: Error };\n\n/**\n * in-memory representation of a component.\n */\nexport class Component {\n constructor(\n /**\n * component ID represented by the `ComponentId` type.\n */\n readonly id: ComponentID,\n\n /**\n * head version of the component. can be `null` for new components.\n */\n readonly head: Snap | null = null,\n\n /**\n * state of the component.\n */\n private _state: State,\n\n /**\n * tags of the component.\n */\n readonly tags: TagMap = new TagMap(),\n\n /**\n * the component factory\n */\n private factory: ComponentFactory\n ) {}\n\n get mainFile() {\n return this.state.mainFile;\n }\n\n get state(): State {\n return this._state;\n }\n\n set state(state: State) {\n this._state = state;\n }\n\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n */\n get config(): ComponentConfig {\n return this.state.config;\n }\n\n /**\n * in-memory representation of the component current filesystem.\n */\n get filesystem(): ComponentFS {\n return this.state.filesystem;\n }\n\n /**\n * build status of the component\n */\n get buildStatus(): BuildStatus {\n return this._state._consumer.buildStatus;\n }\n\n get headTag() {\n if (!this.head) return undefined;\n return this.tags.byHash(this.head.hash);\n }\n\n get latest(): string | undefined {\n if (!this.head) return undefined;\n try {\n return this.tags.getLatest();\n } catch (err: any) {\n if (err instanceof CouldNotFindLatest) {\n return this.head.toString();\n }\n throw err;\n }\n }\n\n stringify(): string {\n return JSON.stringify({\n id: this.id,\n head: this.head,\n });\n }\n\n /**\n * record component changes in the `Scope`.\n */\n // snap(author: Author, message = '') {\n // if (!this.isModified()) throw new NothingToSnap();\n // const snap = new Snap(this, author, message);\n\n // return new Component(this.id, snap, snap.state);\n // }\n\n /**\n * display name of the component.\n */\n get displayName() {\n const tokens = this.id.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n /**\n * tag a component `Snap` with a semantic version. we follow SemVer specs as defined [here](https://semver.org/)).\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tag(version: SemVer) {\n // const snap = this.snap();\n // const tag = new Tag(version, snap);\n // this.tags.set(tag);\n }\n\n /**\n * determines whether this component is modified in the workspace.\n */\n isModified(): Promise<boolean> {\n if (!this.head) return Promise.resolve(true);\n return Promise.resolve(this.state.isModified);\n // return Promise.resolve(this.state.hash !== this.head.hash);\n }\n\n /**\n * is component isOutdated\n */\n isOutdated(): boolean {\n if (!this.latest) return false;\n const latestTag = this.tags.byVersion(this.latest);\n if (!latestTag) return false;\n if (this.head?.hash !== latestTag?.hash) return true;\n return false;\n }\n\n /**\n * determines whether this component is new.\n */\n isNew(): Promise<boolean> {\n return Promise.resolve(this.head === null);\n }\n\n // TODO: @david after snap we need to make sure to refactor here.\n loadState(snapId: string): Promise<State> {\n return this.factory.getState(this.id, snapId);\n }\n\n loadSnap(snapId?: string): Promise<Snap> {\n const snapToGet = snapId || this.head?.hash;\n if (!snapToGet) {\n throw new BitError('could not load snap for new components');\n }\n return this.factory.getSnap(this.id, snapToGet);\n }\n\n /**\n * Get iterable which iterate over snap parents lazily\n * @param snapId\n * @param options\n */\n snapsIterable(snapId?: string, options: SnapsIterableOpts = {}): AsyncIterable<Snap> {\n const snapToStart = snapId || this.head?.hash;\n let nextSnaps = [snapToStart];\n let done;\n if (!snapToStart) {\n done = true;\n }\n\n const iterator: AsyncIterator<Snap> = {\n next: async () => {\n if (done) {\n return { value: undefined, done };\n }\n const currSnapId = nextSnaps.shift();\n const snap = await this.loadSnap(currSnapId);\n if (snap.parents && snap.parents.length) {\n if (options.firstParentOnly) {\n nextSnaps.push(snap.parents[0]);\n } else {\n nextSnaps = nextSnaps.concat(snap.parents);\n }\n }\n if (!nextSnaps.length) {\n done = true;\n } else if (options.stopFn) {\n done = await options.stopFn(snap);\n }\n return { value: snap, done: undefined };\n },\n };\n return {\n [Symbol.asyncIterator]: () => iterator,\n };\n }\n\n /**\n * traverse recursively from the provided snap (or head) upwards until it finds a tag\n * @param snapToStartFrom\n */\n async getClosestTag(snapToStartFrom?: string): Promise<Tag | undefined> {\n const tagsHashMap = this.tags.getHashMap();\n const stopFn = async (snap: Snap) => {\n if (tagsHashMap.has(snap.hash)) {\n return true;\n }\n return false;\n };\n const iterable = this.snapsIterable(snapToStartFrom, { firstParentOnly: true, stopFn });\n const snaps: Snap[] = [];\n for await (const snap of iterable) {\n snaps.push(snap);\n }\n if (snaps.length) {\n const hashOfLastSnap = snaps[snaps.length - 1].hash;\n return tagsHashMap.get(hashOfLastSnap);\n }\n return undefined;\n }\n\n /**\n * checkout the component to a different version in its working tree.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n checkout(version: SemVer) {}\n\n /**\n * examine difference between two components.\n */\n // diff(other: Component): Difference {}\n\n /**\n * merge two different components\n */\n // merge(other: Component): Component {}\n\n /**\n * write a component to a given file system.\n * @param path root path to write the component\n * @param fs instance of any fs to use.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n write(path: string, fs?: AnyFS) {}\n\n /**\n *\n * Check if 2 components are equal\n * @param {Component} component\n * @returns {boolean}\n * @memberof Component\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n equals(component: Component): boolean {\n return component.id.toString() === this.id.toString();\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export { default as NothingToSnap } from './nothing-to-snap';
2
2
  export { HostNotFound } from './host-not-found';
3
3
  export { CouldNotFindLatest } from './could-not-find-latest';
4
+ export { MainFileNotFound } from './main-file-not-found';
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "HostNotFound", {
17
17
  return _hostNotFound().HostNotFound;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "MainFileNotFound", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _mainFileNotFound().MainFileNotFound;
24
+ }
25
+ });
20
26
  Object.defineProperty(exports, "NothingToSnap", {
21
27
  enumerable: true,
22
28
  get: function () {
@@ -54,4 +60,14 @@ function _couldNotFindLatest() {
54
60
  return data;
55
61
  }
56
62
 
63
+ function _mainFileNotFound() {
64
+ const data = require("./main-file-not-found");
65
+
66
+ _mainFileNotFound = function () {
67
+ return data;
68
+ };
69
+
70
+ return data;
71
+ }
72
+
57
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport { default as NothingToSnap } from './nothing-to-snap';\nexport { HostNotFound } from './host-not-found';\nexport { CouldNotFindLatest } from './could-not-find-latest';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nexport { default as NothingToSnap } from './nothing-to-snap';\nexport { HostNotFound } from './host-not-found';\nexport { CouldNotFindLatest } from './could-not-find-latest';\nexport { MainFileNotFound } from './main-file-not-found';\n"]}
@@ -0,0 +1,14 @@
1
+ import { ComponentID } from '@teambit/component-id';
2
+ export declare class MainFileNotFound extends Error {
3
+ /**
4
+ * name of the host.
5
+ */
6
+ readonly id: ComponentID;
7
+ readonly mainFile: string;
8
+ constructor(
9
+ /**
10
+ * name of the host.
11
+ */
12
+ id: ComponentID, mainFile: string);
13
+ toString(): string;
14
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MainFileNotFound = void 0;
7
+
8
+ class MainFileNotFound extends Error {
9
+ constructor(
10
+ /**
11
+ * name of the host.
12
+ */
13
+ id, mainFile) {
14
+ super();
15
+ this.id = id;
16
+ this.mainFile = mainFile;
17
+ }
18
+
19
+ toString() {
20
+ return `[component] error: main file ${this.mainFile} for component ${this.id.toString()} was not found`;
21
+ }
22
+
23
+ }
24
+
25
+ exports.MainFileNotFound = MainFileNotFound;
26
+
27
+ //# sourceMappingURL=main-file-not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["main-file-not-found.ts"],"names":["MainFileNotFound","Error","constructor","id","mainFile","toString"],"mappings":";;;;;;;AAEO,MAAMA,gBAAN,SAA+BC,KAA/B,CAAqC;AAC1CC,EAAAA,WAAW;AACT;AACJ;AACA;AACaC,EAAAA,EAJA,EAKAC,QALA,EAMT;AACA;AADA,SAFSD,EAET,GAFSA,EAET;AAAA,SADSC,QACT,GADSA,QACT;AAED;;AAEDC,EAAAA,QAAQ,GAAG;AACT,WAAQ,gCAA+B,KAAKD,QAAS,kBAAiB,KAAKD,EAAL,CAAQE,QAAR,EAAmB,gBAAzF;AACD;;AAbyC","sourcesContent":["import { ComponentID } from '@teambit/component-id';\n\nexport class MainFileNotFound extends Error {\n constructor(\n /**\n * name of the host.\n */\n readonly id: ComponentID,\n readonly mainFile: string\n ) {\n super();\n }\n\n toString() {\n return `[component] error: main file ${this.mainFile} for component ${this.id.toString()} was not found`;\n }\n}\n"]}
package/dist/state.d.ts CHANGED
@@ -46,6 +46,10 @@ export declare class State {
46
46
  * instance of legacy consumer component.
47
47
  */
48
48
  _consumer: any);
49
+ /**
50
+ * get the main file of the component.
51
+ */
52
+ get mainFile(): import("@teambit/legacy/dist/consumer/component/sources").AbstractVinyl;
49
53
  /**
50
54
  * calculate the hash of this state
51
55
  */
package/dist/state.js CHANGED
@@ -15,6 +15,26 @@ function _componentIssues() {
15
15
  return data;
16
16
  }
17
17
 
18
+ function _componentId() {
19
+ const data = require("@teambit/component-id");
20
+
21
+ _componentId = function () {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _exceptions() {
29
+ const data = require("./exceptions");
30
+
31
+ _exceptions = function () {
32
+ return data;
33
+ };
34
+
35
+ return data;
36
+ }
37
+
18
38
  class State {
19
39
  constructor(
20
40
  /**
@@ -45,6 +65,18 @@ class State {
45
65
  this.dependencies = dependencies;
46
66
  this._consumer = _consumer;
47
67
  }
68
+ /**
69
+ * get the main file of the component.
70
+ */
71
+
72
+
73
+ get mainFile() {
74
+ const file = this.filesystem.files.find(componentFile => {
75
+ return componentFile.relative === this._consumer.mainFile;
76
+ });
77
+ if (!file) throw new (_exceptions().MainFileNotFound)(_componentId().ComponentID.fromLegacy(this._consumer.id), this._consumer.mainFile);
78
+ return file;
79
+ }
48
80
  /**
49
81
  * calculate the hash of this state
50
82
  */
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["state.ts"],"names":["State","constructor","config","_aspects","filesystem","dependencies","_consumer","hash","issues","IssuesList","isModified","_isModified","aspects"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKO,MAAMA,KAAN,CAAY;AACjBC,EAAAA,WAAW;AACT;AACJ;AACA;AACA;AACaC,EAAAA,MALA;AAOT;AACJ;AACA;AACYC,EAAAA,QAVC;AAYT;AACJ;AACA;AACaC,EAAAA,UAfA;AAiBT;AACJ;AACA;AACI;AACSC,EAAAA,YArBA;AAuBT;AACJ;AACA;AACaC,EAAAA,SA1BA,EA2BT;AAAA,SAtBSJ,MAsBT,GAtBSA,MAsBT;AAAA,SAjBQC,QAiBR,GAjBQA,QAiBR;AAAA,SAZSC,UAYT,GAZSA,UAYT;AAAA,SANSC,YAMT,GANSA,YAMT;AAAA,SADSC,SACT,GADSA,SACT;AAAE;AAEJ;AACF;AACA;;;AACU,MAAJC,IAAI,GAAG;AACT,WAAO,EAAP;AACD;;AAES,MAANC,MAAM,GAAe;AAAA;;AACvB,WAAQ,wBAAKF,SAAL,EAAeE,MAAvB,KAAQ,gBAAeA,MAAvB,GAAkC,KAAIC,6BAAJ,GAAlC;AACD;AAED;AACF;AACA;;;AAEgB,MAAVC,UAAU,GAAY;AACxB,WAAO,KAAKJ,SAAL,CAAeK,WAAtB;AACD;;AAEU,MAAPC,OAAO,GAAe;AACxB,WAAO,KAAKT,QAAZ;AACD;;AAEU,MAAPS,OAAO,CAACA,OAAD,EAAsB;AAC/B,SAAKT,QAAL,GAAgBS,OAAhB;AACD,GAvDgB,CAyDjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAlEiB","sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport ComponentFS from './component-fs';\nimport Config from './config';\nimport { AspectList } from './aspect-list';\n\nexport class State {\n constructor(\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n * @deprecated please use `aspects` instead.\n */\n readonly config: Config,\n\n /**\n * list of aspects configured on the component.\n */\n private _aspects: AspectList,\n\n /**\n * in-memory representation of the component current filesystem.\n */\n readonly filesystem: ComponentFS,\n\n /**\n * dependency graph of the component current. ideally package dependencies would be also placed here.\n */\n // readonly dependencies: Dependencies\n readonly dependencies,\n\n /**\n * instance of legacy consumer component.\n */\n readonly _consumer: any\n ) {}\n\n /**\n * calculate the hash of this state\n */\n get hash() {\n return '';\n }\n\n get issues(): IssuesList {\n return (this._consumer.issues ||= new IssuesList());\n }\n\n /**\n * is modified\n */\n\n get isModified(): boolean {\n return this._consumer._isModified;\n }\n\n get aspects(): AspectList {\n return this._aspects;\n }\n\n set aspects(aspects: AspectList) {\n this._aspects = aspects;\n }\n\n // static fromLegacy(consumerComponent: ConsumerComponent) {\n // return new State(\n // new Config(consumerComponent.mainFile, consumerComponent.extensions),\n // consumerComponent.version || 'new',\n // ComponentFS.fromVinyls(consumerComponent.files),\n // Store.fromArray([]),\n // consumerComponent.dependencies,\n // consumerComponent\n // );\n // }\n}\n"]}
1
+ {"version":3,"sources":["state.ts"],"names":["State","constructor","config","_aspects","filesystem","dependencies","_consumer","mainFile","file","files","find","componentFile","relative","MainFileNotFound","ComponentID","fromLegacy","id","hash","issues","IssuesList","isModified","_isModified","aspects"],"mappings":";;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,KAAN,CAAY;AACjBC,EAAAA,WAAW;AACT;AACJ;AACA;AACA;AACaC,EAAAA,MALA;AAOT;AACJ;AACA;AACYC,EAAAA,QAVC;AAYT;AACJ;AACA;AACaC,EAAAA,UAfA;AAiBT;AACJ;AACA;AACI;AACSC,EAAAA,YArBA;AAuBT;AACJ;AACA;AACaC,EAAAA,SA1BA,EA2BT;AAAA,SAtBSJ,MAsBT,GAtBSA,MAsBT;AAAA,SAjBQC,QAiBR,GAjBQA,QAiBR;AAAA,SAZSC,UAYT,GAZSA,UAYT;AAAA,SANSC,YAMT,GANSA,YAMT;AAAA,SADSC,SACT,GADSA,SACT;AAAE;AAEJ;AACF;AACA;;;AACc,MAARC,QAAQ,GAAG;AACb,UAAMC,IAAI,GAAG,KAAKJ,UAAL,CAAgBK,KAAhB,CAAsBC,IAAtB,CAA4BC,aAAD,IAAmB;AACzD,aAAOA,aAAa,CAACC,QAAd,KAA2B,KAAKN,SAAL,CAAeC,QAAjD;AACD,KAFY,CAAb;AAIA,QAAI,CAACC,IAAL,EAAW,MAAM,KAAIK,8BAAJ,EAAqBC,2BAAYC,UAAZ,CAAuB,KAAKT,SAAL,CAAeU,EAAtC,CAArB,EAAgE,KAAKV,SAAL,CAAeC,QAA/E,CAAN;AAEX,WAAOC,IAAP;AACD;AAED;AACF;AACA;;;AACU,MAAJS,IAAI,GAAG;AACT,WAAO,EAAP;AACD;;AAES,MAANC,MAAM,GAAe;AAAA;;AACvB,WAAQ,wBAAKZ,SAAL,EAAeY,MAAvB,KAAQ,gBAAeA,MAAvB,GAAkC,KAAIC,6BAAJ,GAAlC;AACD;AAED;AACF;AACA;;;AAEgB,MAAVC,UAAU,GAAY;AACxB,WAAO,KAAKd,SAAL,CAAee,WAAtB;AACD;;AAEU,MAAPC,OAAO,GAAe;AACxB,WAAO,KAAKnB,QAAZ;AACD;;AAEU,MAAPmB,OAAO,CAACA,OAAD,EAAsB;AAC/B,SAAKnB,QAAL,GAAgBmB,OAAhB;AACD,GApEgB,CAsEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AA/EiB","sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport { ComponentID } from '@teambit/component-id';\nimport ComponentFS from './component-fs';\nimport Config from './config';\nimport { AspectList } from './aspect-list';\nimport { MainFileNotFound } from './exceptions';\n\nexport class State {\n constructor(\n /**\n * component configuration which is later generated to a component `package.json` and `bit.json`.\n * @deprecated please use `aspects` instead.\n */\n readonly config: Config,\n\n /**\n * list of aspects configured on the component.\n */\n private _aspects: AspectList,\n\n /**\n * in-memory representation of the component current filesystem.\n */\n readonly filesystem: ComponentFS,\n\n /**\n * dependency graph of the component current. ideally package dependencies would be also placed here.\n */\n // readonly dependencies: Dependencies\n readonly dependencies,\n\n /**\n * instance of legacy consumer component.\n */\n readonly _consumer: any\n ) {}\n\n /**\n * get the main file of the component.\n */\n get mainFile() {\n const file = this.filesystem.files.find((componentFile) => {\n return componentFile.relative === this._consumer.mainFile;\n });\n\n if (!file) throw new MainFileNotFound(ComponentID.fromLegacy(this._consumer.id), this._consumer.mainFile);\n\n return file;\n }\n\n /**\n * calculate the hash of this state\n */\n get hash() {\n return '';\n }\n\n get issues(): IssuesList {\n return (this._consumer.issues ||= new IssuesList());\n }\n\n /**\n * is modified\n */\n\n get isModified(): boolean {\n return this._consumer._isModified;\n }\n\n get aspects(): AspectList {\n return this._aspects;\n }\n\n set aspects(aspects: AspectList) {\n this._aspects = aspects;\n }\n\n // static fromLegacy(consumerComponent: ConsumerComponent) {\n // return new State(\n // new Config(consumerComponent.mainFile, consumerComponent.extensions),\n // consumerComponent.version || 'new',\n // ComponentFS.fromVinyls(consumerComponent.files),\n // Store.fromArray([]),\n // consumerComponent.dependencies,\n // consumerComponent\n // );\n // }\n}\n"]}
@@ -77,9 +77,9 @@ function _componentError() {
77
77
  return data;
78
78
  }
79
79
 
80
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
80
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
81
81
 
82
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
82
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
83
83
 
84
84
  const componentIdFields = (0, _client().gql)`
85
85
  fragment componentIdFields on ComponentID {
@@ -2,3 +2,4 @@
2
2
  export { default as NothingToSnap } from './nothing-to-snap';
3
3
  export { HostNotFound } from './host-not-found';
4
4
  export { CouldNotFindLatest } from './could-not-find-latest';
5
+ export { MainFileNotFound } from './main-file-not-found';
@@ -0,0 +1,17 @@
1
+ import { ComponentID } from '@teambit/component-id';
2
+
3
+ export class MainFileNotFound extends Error {
4
+ constructor(
5
+ /**
6
+ * name of the host.
7
+ */
8
+ readonly id: ComponentID,
9
+ readonly mainFile: string
10
+ ) {
11
+ super();
12
+ }
13
+
14
+ toString() {
15
+ return `[component] error: main file ${this.mainFile} for component ${this.id.toString()} was not found`;
16
+ }
17
+ }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component",
3
- "version": "0.0.588",
3
+ "version": "0.0.589",
4
4
  "homepage": "https://bit.dev/teambit/component/component",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component",
9
- "version": "0.0.588"
9
+ "version": "0.0.589"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -28,32 +28,32 @@
28
28
  "@teambit/documenter.ui.separator": "4.1.1",
29
29
  "@teambit/component-id": "0.0.394",
30
30
  "@teambit/ui-foundation.ui.menu-widget-icon": "0.0.483",
31
- "@teambit/aspect-loader": "0.0.588",
31
+ "@teambit/aspect-loader": "0.0.589",
32
32
  "@teambit/legacy-bit-id": "0.0.393",
33
33
  "@teambit/toolbox.string.capitalize": "0.0.478",
34
34
  "@teambit/cli": "0.0.404",
35
35
  "@teambit/config": "0.0.416",
36
36
  "@teambit/express": "0.0.496",
37
- "@teambit/graphql": "0.0.588",
37
+ "@teambit/graphql": "0.0.589",
38
38
  "@teambit/bit-error": "0.0.390",
39
- "@teambit/command-bar": "0.0.588",
40
- "@teambit/preview": "0.0.588",
41
- "@teambit/pubsub": "0.0.588",
39
+ "@teambit/command-bar": "0.0.589",
40
+ "@teambit/preview": "0.0.589",
41
+ "@teambit/pubsub": "0.0.589",
42
42
  "@teambit/ui-foundation.ui.is-browser": "0.0.481",
43
43
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.481",
44
44
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.483",
45
- "@teambit/ui": "0.0.588",
45
+ "@teambit/ui": "0.0.589",
46
46
  "@teambit/component-issues": "0.0.39",
47
47
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.482",
48
48
  "@teambit/cli-table": "0.0.27",
49
49
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.481",
50
- "@teambit/design.ui.empty-box": "0.0.352",
51
- "@teambit/harmony.ui.aspect-box": "0.0.481",
52
50
  "@teambit/design.ui.pages.not-found": "0.0.352",
53
51
  "@teambit/design.ui.pages.server-error": "0.0.352",
54
- "@teambit/compositions": "0.0.588",
55
- "@teambit/deprecation": "0.0.588",
56
- "@teambit/envs": "0.0.588",
52
+ "@teambit/design.ui.empty-box": "0.0.352",
53
+ "@teambit/harmony.ui.aspect-box": "0.0.481",
54
+ "@teambit/compositions": "0.0.589",
55
+ "@teambit/deprecation": "0.0.589",
56
+ "@teambit/envs": "0.0.589",
57
57
  "@teambit/component.ui.version-dropdown": "0.0.485",
58
58
  "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.102",
59
59
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.102",