@teambit/component 0.0.735 → 0.0.738
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.
- package/dist/aspect-entry.js.map +1 -1
- package/dist/aspect-list.js.map +1 -1
- package/dist/aspect.section.js.map +1 -1
- package/dist/component-factory.js.map +1 -1
- package/dist/component-fs.js.map +1 -1
- package/dist/component-map/component-map.js.map +1 -1
- package/dist/component-map/index.js.map +1 -1
- package/dist/component-meta.js.map +1 -1
- package/dist/component.aspect.js.map +1 -1
- package/dist/component.composition.js.map +1 -1
- package/dist/component.graphql.js.map +1 -1
- package/dist/component.js.map +1 -1
- package/dist/component.main.runtime.js.map +1 -1
- package/dist/component.route.js.map +1 -1
- package/dist/component.ui.runtime.js.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/dependencies/dependencies.js.map +1 -1
- package/dist/dependencies/index.js.map +1 -1
- package/dist/exceptions/could-not-find-latest.js.map +1 -1
- package/dist/exceptions/host-not-found.js.map +1 -1
- package/dist/exceptions/index.js.map +1 -1
- package/dist/exceptions/main-file-not-found.js.map +1 -1
- package/dist/exceptions/nothing-to-snap.js.map +1 -1
- package/dist/hash.js.map +1 -1
- package/dist/head.js.map +1 -1
- package/dist/history-graph.js.map +1 -1
- package/dist/host/component-host-model.js.map +1 -1
- package/dist/host/index.js.map +1 -1
- package/dist/host/use-component-host.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/on-load.js.map +1 -1
- package/dist/section/index.js.map +1 -1
- package/dist/section/section.js.map +1 -1
- package/dist/show/extensions.fragment.js.map +1 -1
- package/dist/show/files.fragment.js.map +1 -1
- package/dist/show/id.fragment.js.map +1 -1
- package/dist/show/index.js.map +1 -1
- package/dist/show/main-file.fragment.js.map +1 -1
- package/dist/show/name.fragment.js.map +1 -1
- package/dist/show/scope.fragment.js.map +1 -1
- package/dist/show/show-fragment.js.map +1 -1
- package/dist/show/show.cmd.js.map +1 -1
- package/dist/snap/author.js.map +1 -1
- package/dist/snap/index.js.map +1 -1
- package/dist/snap/snap.js.map +1 -1
- package/dist/state.js.map +1 -1
- package/dist/store.js.map +1 -1
- package/dist/tag/index.js.map +1 -1
- package/dist/tag/tag.js.map +1 -1
- package/dist/tag-map.js.map +1 -1
- package/dist/ui/aspect-page/aspect-page.js.map +1 -1
- package/dist/ui/aspect-page/index.js.map +1 -1
- package/dist/ui/component-error/component-error.js.map +1 -1
- package/dist/ui/component-error/index.js.map +1 -1
- package/dist/ui/component-model/component-model.js.map +1 -1
- package/dist/ui/component-model/index.js.map +1 -1
- package/dist/ui/component-searcher/component-result.js.map +1 -1
- package/dist/ui/component-searcher/component-searcher.js.map +1 -1
- package/dist/ui/component-searcher/index.js.map +1 -1
- package/dist/ui/component.js.map +1 -1
- package/dist/ui/context/component-context.js.map +1 -1
- package/dist/ui/context/component-provider.js.map +1 -1
- package/dist/ui/context/index.js.map +1 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/menu/index.js.map +1 -1
- package/dist/ui/menu/menu-nav.js.map +1 -1
- package/dist/ui/menu/menu.js.map +1 -1
- package/dist/ui/menu/mobile-menu-nav.js.map +1 -1
- package/dist/ui/menu/nav-plugin.js.map +1 -1
- package/dist/ui/top-bar-nav/index.js.map +1 -1
- package/dist/ui/top-bar-nav/top-bar-nav.js.map +1 -1
- package/dist/ui/use-component-query.js.map +1 -1
- package/dist/ui/use-component.js.map +1 -1
- package/package-tar/teambit-component-0.0.738.tgz +0 -0
- package/package.json +15 -15
- package/{preview-1652808661748.js → preview-1653227849497.js} +2 -2
- package/tsconfig.json +1 -1
- package/package-tar/teambit-component-0.0.735.tgz +0 -0
package/dist/aspect-entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AspectEntry","constructor","id","legacyEntry","legacy","isLegacy","config","__legacy","data","isRemoved","val","transform","newData","newEntry","clone","serialize","toString","icon"],"sources":["aspect-entry.ts"],"sourcesContent":["/**\n * avoid importing any (non-type) legacy code here. otherwise, PreviewTask will throw cryptic errors\n */\n\nimport type { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\n\nexport type Serializable = {\n toString(): string;\n};\n\nexport type SerializableMap = {\n [key: string]: Serializable;\n};\n\nexport type AspectData = {\n [key: string]: any;\n};\n\nexport type ResolveComponentIdFunc = (id: string) => Promise<ComponentID>;\nexport class AspectEntry {\n constructor(public id: ComponentID, private legacyEntry: ExtensionDataEntry) {}\n\n get legacy() {\n return this.legacyEntry;\n }\n\n get isLegacy(): boolean {\n if (this.config?.__legacy) return true;\n return false;\n }\n\n get config() {\n return this.legacy.config;\n }\n\n set config(config) {\n this.legacy.config = config;\n }\n\n get data(): { [key: string]: any } {\n return this.legacy.data;\n }\n\n get isRemoved(): boolean {\n return this.legacy.isRemoved;\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n set data(val: { [key: string]: any }) {\n this.legacy.data = val;\n }\n\n transform(newData: SerializableMap): AspectEntry {\n const newEntry = this.clone();\n newEntry.data = newData;\n return new AspectEntry(this.id, newEntry.legacy);\n }\n\n clone(): AspectEntry {\n return new AspectEntry(this.id, this.legacyEntry.clone());\n }\n\n serialize() {\n return {\n id: this.id.toString(),\n config: this.config,\n data: this.data,\n icon: 'https://static.bit.dev/extensions-icons/default.svg', // TODO @gilad - once you connect the icon here please use this url as the default icon\n };\n }\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAkBO,MAAMA,WAAN,CAAkB;EACvBC,WAAW,CAAQC,EAAR,EAAiCC,WAAjC,EAAkE;IAAA,KAA1DD,EAA0D,GAA1DA,EAA0D;IAAA,KAAjCC,WAAiC,GAAjCA,WAAiC;EAAE;;EAErE,IAANC,MAAM,GAAG;IACX,OAAO,KAAKD,WAAZ;EACD;;EAEW,IAARE,QAAQ,GAAY;IAAA;;IACtB,oBAAI,KAAKC,MAAT,yCAAI,aAAaC,QAAjB,EAA2B,OAAO,IAAP;IAC3B,OAAO,KAAP;EACD;;EAES,IAAND,MAAM,GAAG;IACX,OAAO,KAAKF,MAAL,CAAYE,MAAnB;EACD;;EAES,IAANA,MAAM,CAACA,MAAD,EAAS;IACjB,KAAKF,MAAL,CAAYE,MAAZ,GAAqBA,MAArB;EACD;;EAEO,IAAJE,IAAI,GAA2B;IACjC,OAAO,KAAKJ,MAAL,CAAYI,IAAnB;EACD;;EAEY,IAATC,SAAS,GAAY;IACvB,OAAO,KAAKL,MAAL,CAAYK,SAAnB;EACD,CA1BsB,CA4BvB;;;EACQ,IAAJD,IAAI,CAACE,GAAD,EAA8B;IACpC,KAAKN,MAAL,CAAYI,IAAZ,GAAmBE,GAAnB;EACD;;EAEDC,SAAS,CAACC,OAAD,EAAwC;IAC/C,MAAMC,QAAQ,GAAG,KAAKC,KAAL,EAAjB;IACAD,QAAQ,CAACL,IAAT,GAAgBI,OAAhB;IACA,OAAO,IAAIZ,WAAJ,CAAgB,KAAKE,EAArB,EAAyBW,QAAQ,CAACT,MAAlC,CAAP;EACD;;EAEDU,KAAK,GAAgB;IACnB,OAAO,IAAId,WAAJ,CAAgB,KAAKE,EAArB,EAAyB,KAAKC,WAAL,CAAiBW,KAAjB,EAAzB,CAAP;EACD;;EAEDC,SAAS,GAAG;IACV,OAAO;MACLb,EAAE,EAAE,KAAKA,EAAL,CAAQc,QAAR,EADC;MAELV,MAAM,EAAE,KAAKA,MAFR;MAGLE,IAAI,EAAE,KAAKA,IAHN;MAILS,IAAI,EAAE,qDAJD,CAIwD;;IAJxD,CAAP;EAMD;;AAlDsB"}
|
package/dist/aspect-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AspectList","constructor","entries","addEntry","aspectId","data","extensionDataEntry","ExtensionDataEntry","undefined","_legacy","entry","AspectEntry","push","withoutEntries","aspectIds","filter","includes","legacy","stringId","ids","list","map","id","toString","get","find","toStringWithoutVersion","ignoreVersion","aspectEntry","isEqual","predicate","pmap","entriesP","Promise","all","toConfigObject","res","forEach","config","removeInternalConfigFields","serialize","serializedEntries","length","toLegacy","legacyEntries","ExtensionDataList","fromArray","stringIds","clone","fromLegacyExtensions","legacyDataList","scope","newEntries","getAspectId","extensionId","name","ComponentID","fromString","fromLegacy","Error"],"sources":["aspect-list.ts"],"sourcesContent":["import {\n ExtensionDataList,\n ExtensionDataEntry,\n removeInternalConfigFields,\n} from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\nimport { AspectEntry, SerializableMap } from './aspect-entry';\n\n/**\n * list of aspects, each may have data and artifacts saved per component.\n */\nexport class AspectList {\n constructor(readonly entries: AspectEntry[]) {}\n\n addEntry(aspectId: ComponentID, data: SerializableMap = {}) {\n const extensionDataEntry = new ExtensionDataEntry(undefined, aspectId._legacy, undefined, {}, data);\n const entry = new AspectEntry(aspectId, extensionDataEntry);\n this.entries.push(entry);\n return entry;\n }\n\n /**\n * transform an aspect list into a new one without the given aspect ids\n */\n withoutEntries(aspectIds: string[]): AspectList {\n const entries = this.entries.filter((entry) => !aspectIds.includes(entry.legacy.stringId));\n return new AspectList(entries);\n }\n\n /**\n * get all ids as strings from the aspect list.\n */\n get ids(): string[] {\n const list = this.entries.map((entry) => entry.id.toString());\n return list;\n }\n\n /**\n * get an aspect from the list using a serialized ID.\n */\n get(id: string): AspectEntry | undefined {\n return this.entries.find((entry) => {\n return entry.legacy.stringId === id || entry.id.toStringWithoutVersion() === id;\n });\n }\n\n /**\n * find aspect by component ID.\n */\n find(id: ComponentID, ignoreVersion = false): AspectEntry | undefined {\n return this.entries.find((aspectEntry) => {\n return id.isEqual(aspectEntry.id, { ignoreVersion });\n });\n }\n\n /**\n * transform an aspect list into a new one.\n */\n map(predicate: (entry: AspectEntry) => AspectEntry) {\n const entries = this.entries.map(predicate);\n return new AspectList(entries);\n }\n\n /**\n * transform an aspect list into a new one.\n */\n async pmap(predicate: (entry: AspectEntry) => Promise<AspectEntry>) {\n const entriesP = this.entries.map(predicate);\n const entries = await Promise.all(entriesP);\n return new AspectList(entries);\n }\n\n toConfigObject() {\n const res = {};\n this.entries.forEach((entry) => {\n if (entry.config) {\n res[entry.id.toString()] = removeInternalConfigFields(entry.config);\n }\n });\n return res;\n }\n\n serialize() {\n const serializedEntries = this.entries.map((entry) => entry.serialize());\n return serializedEntries;\n }\n\n filter(ids?: string[]): AspectList {\n if (!ids?.length) return new AspectList(this.entries);\n const entries = this.entries.filter((aspectEntry) => {\n return ids?.includes(aspectEntry.id.toStringWithoutVersion());\n });\n return new AspectList(entries);\n }\n\n toLegacy(): ExtensionDataList {\n const legacyEntries = this.entries.map((entry) => entry.legacy);\n return ExtensionDataList.fromArray(legacyEntries);\n }\n\n stringIds(): string[] {\n const ids = this.entries.map((entry) => entry.id.toString());\n return ids;\n }\n\n clone(): AspectList {\n return new AspectList(this.entries.map((entry) => entry.clone()));\n }\n\n static fromLegacyExtensions(legacyDataList: ExtensionDataList, scope?: string): AspectList {\n const newEntries = legacyDataList.map((entry) => {\n return new AspectEntry(getAspectId(entry, scope), entry);\n });\n\n return new AspectList(newEntries);\n }\n}\n\nfunction getAspectId(entry: ExtensionDataEntry, scope?: string) {\n if (!entry.extensionId && entry.name) return ComponentID.fromString(entry.name);\n if (entry.extensionId) return ComponentID.fromLegacy(entry.extensionId, scope);\n throw new Error('aspect cannot be loaded without setting an ID');\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["AspectSection","path","children","href","displayName"],"sources":["aspect.section.tsx"],"sourcesContent":["import React from 'react';\nimport { MenuWidgetIcon } from '@teambit/ui-foundation.ui.menu-widget-icon';\nimport { Section } from './section';\nimport { AspectPage } from './ui/aspect-page';\n\nexport class AspectSection implements Section {\n route = {\n path: '~aspect',\n children: <AspectPage />,\n };\n navigationLink = {\n href: '~aspect',\n children: <MenuWidgetIcon icon=\"configuration\" tooltipContent=\"Configuration\" />,\n displayName: 'Configuration',\n };\n order = 50;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,aAAN,CAAuC;EAAA;IAAA,+CACpC;MACNC,IAAI,EAAE,SADA;MAENC,QAAQ,eAAE,+BAAC,wBAAD;IAFJ,CADoC;IAAA,wDAK3B;MACfC,IAAI,EAAE,SADS;MAEfD,QAAQ,eAAE,+BAAC,gCAAD;QAAgB,IAAI,EAAC,eAArB;QAAqC,cAAc,EAAC;MAApD,EAFK;MAGfE,WAAW,EAAE;IAHE,CAL2B;IAAA,+CAUpC,EAVoC;EAAA;;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"names":[],"sources":["component-factory.ts"],"sourcesContent":["import { BitId } from '@teambit/legacy-bit-id';\nimport LegacyGraph from '@teambit/legacy/dist/scope/graph/graph';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport type { ComponentLog } from '@teambit/legacy/dist/scope/models/model-component';\nimport type { AspectDefinition } from '@teambit/aspect-loader';\nimport { ComponentID } from '@teambit/component-id';\nimport { Component, InvalidComponent } from './component';\nimport { State } from './state';\nimport { Snap } from './snap';\n\nexport interface ComponentFactory {\n /**\n * name of the component host.\n */\n name: string;\n\n /**\n * path to the component host.\n */\n path: string;\n\n isLegacy: boolean;\n\n /**\n * resolve a `string` component ID to an instance of a ComponentID.\n */\n resolveComponentId(id: string | ComponentID | BitId): Promise<ComponentID>;\n\n /**\n * resolve multiple `string` component ID to an instance of a ComponentID.\n */\n resolveMultipleComponentIds(ids: (string | ComponentID | BitId)[]): Promise<ComponentID[]>;\n\n /**\n * returns a component by ID.\n */\n get(\n id: ComponentID | string,\n withState?: boolean,\n consumerComponent?: ConsumerComponent\n ): Promise<Component | undefined>;\n\n /**\n * returns many components by ids.\n */\n getMany(ids: ComponentID[]): Promise<Component[]>;\n\n /**\n * returns many components by their legacy representation.\n */\n getManyByLegacy(components: ConsumerComponent[]): Promise<Component[]>;\n\n /**\n * get a component from a remote without importing it\n */\n getRemoteComponent?: (id: ComponentID) => Promise<Component>;\n\n getLegacyGraph(ids?: ComponentID[]): Promise<LegacyGraph>;\n\n getLogs(id: ComponentID, shortHash?: boolean, startsFrom?: string): Promise<ComponentLog[]>;\n\n /**\n * returns a specific state of a component by hash or semver.\n */\n getState(id: ComponentID, snapId: string): Promise<State>;\n\n /**\n * returns a specific snap of a component by hash.\n */\n getSnap(id: ComponentID, snapId: string): Promise<Snap>;\n\n /**\n * load aspects.\n * returns the loaded aspect ids including the loaded versions.\n */\n loadAspects: (ids: string[], throwOnError?: boolean, neededFor?: ComponentID) => Promise<string[]>;\n\n /**\n * Resolve dirs for aspects\n */\n resolveAspects: (runtimeName?: string, componentIds?: ComponentID[]) => Promise<AspectDefinition[]>;\n\n /**\n * list all components in the host.\n */\n list(filter?: { offset: number; limit: number }): Promise<Component[]>;\n\n /**\n * list invalid components, such as components with missing files on the fs.\n */\n listInvalid(): Promise<InvalidComponent[]>;\n\n listIds(): Promise<ComponentID[]>;\n\n hasId(componentId: ComponentID): Promise<boolean>;\n\n /**\n * Check if the host has the id, if no, search for the id in inner host (for example, workspace will search in the scope)\n * @param componentId\n */\n hasIdNested(componentId: ComponentID, includeCache?: boolean): Promise<boolean>;\n\n /**\n * whether a component is not the same as its head.\n * for a new component, it'll return \"true\" as it has no head yet.\n * this is relevant for component from the workspace, where it can be locally changed. on the scope it's always false\n */\n isModified(component: Component): Promise<boolean>;\n\n /**\n * write the component to the filesystem when applicable (no-op for scope).\n * to change the component-path, specify the \"rootPath\", which should be a relative path inside the workspace.\n */\n write(component: Component, rootPath?: string): Promise<void>;\n\n /**\n * determine whether host should be the prior one in case multiple hosts persist.\n */\n priority?: boolean;\n}\n"],"mappings":""}
|
package/dist/component-fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentFS","MemoryFS","constructor","files","hash","byRegex","extension","filter","file","path","match","byGlob","patterns","includePatterns","excludePatterns","splitPatterns","matchPatterns","relative","toObject","map","contents","fromVinyls","fs","forEach","dirPath","relativeDir","startsWith","join","mkdirpSync","writeFileSync","auto"],"sources":["component-fs.ts"],"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 { matchPatterns, splitPatterns } from '@teambit/toolbox.path.match-patterns';\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 const { includePatterns, excludePatterns } = splitPatterns(patterns);\n\n const files = this.files.filter((file) => {\n return matchPatterns(file.relative, includePatterns, excludePatterns);\n });\n\n return files;\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"],"mappings":";;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEA;AACA;AACA;AACe,MAAMA,WAAN,SAA0BC,iBAA1B,CAAmC;EAChDC,WAAW;EACT;AACJ;AACA;EACaC,KAJA,EAKT;IACA;IADA,KADSA,KACT,GADSA,KACT;EAED;EACD;AACF;AACA;;;EACU,IAAJC,IAAI,GAAG;IACT,OAAO,EAAP;EACD;EAED;AACF;AACA;;;EACEC,OAAO,CAACC,SAAD,EAAqC;IAC1C,OAAO,KAAKH,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAUA,IAAI,CAACC,IAAL,CAAUC,KAAV,CAAgBJ,SAAhB,CAA5B,CAAP;EACD;EAED;AACF;AACA;;;EACEK,MAAM,CAACC,QAAD,EAAqB;IACzB,MAAM;MAAEC,eAAF;MAAmBC;IAAnB,IAAuC,IAAAC,4BAAA,EAAcH,QAAd,CAA7C;IAEA,MAAMT,KAAK,GAAG,KAAKA,KAAL,CAAWI,MAAX,CAAmBC,IAAD,IAAU;MACxC,OAAO,IAAAQ,4BAAA,EAAcR,IAAI,CAACS,QAAnB,EAA6BJ,eAA7B,EAA8CC,eAA9C,CAAP;IACD,CAFa,CAAd;IAIA,OAAOX,KAAP;EACD;;EAEDe,QAAQ,GAAG;IACT,OAAO,KAAKf,KAAL,CAAWgB,GAAX,CAAgBX,IAAD,IAAU;MAC9B,OAAO;QACLC,IAAI,EAAED,IAAI,CAACC,IADN;QAELW,QAAQ,EAAEZ,IAAI,CAACY;MAFV,CAAP;IAID,CALM,CAAP;EAMD;;EAEgB,OAAVC,UAAU,CAAClB,KAAD,EAAyB;IACxC,MAAMmB,EAAE,GAAG,IAAItB,WAAJ,CAAgBG,KAAhB,CAAX;IACAA,KAAK,CAACoB,OAAN,CAAef,IAAD,IAAU;MACtB,IAAIgB,OAAO,GAAGhB,IAAI,CAACiB,WAAnB;MACA,IAAI,CAACD,OAAO,CAACE,UAAR,CAAmB,GAAnB,CAAL,EAA8BF,OAAO,GAAGf,eAAA,CAAKkB,IAAL,CAAU,GAAV,EAAeH,OAAf,CAAV;MAC9BF,EAAE,CAACM,UAAH,CAAcJ,OAAd;MACAF,EAAE,CAACO,aAAH,CAAkB,IAAGrB,IAAI,CAACS,QAAS,EAAnC,EAAsC,IAAAa,WAAA,EAAKtB,IAAI,CAACY,QAAL,IAAiB,EAAtB,CAAtC;IACD,CALD;IAOA,OAAOE,EAAP;EACD;;AAvD+C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentMap","constructor","hashMap","byComponent","component","get","id","toString","components","toArray","map","getValueByComponentId","componentId","tuple","Array","from","values","predicate","tuples","value","newValue","Map","forEach","flattenValue","reduce","acc","concat","filter","asMap","keys","create","rawMap","newMap","data","as"],"sources":["component-map.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { Component } from '../component';\n\n/**\n * allows to index components -> values.\n */\nexport class ComponentMap<T> {\n constructor(readonly hashMap: Map<string, [Component, T]>) {}\n\n /**\n * @deprecated please use `get` instead\n */\n byComponent(component: Component) {\n return this.hashMap.get(component.id.toString());\n }\n\n get components() {\n return this.toArray().map(([component]) => component);\n }\n\n /**\n * get a value for a component.\n */\n get(component: Component) {\n return this.hashMap.get(component.id.toString());\n }\n\n /**\n * get a value by the component-id\n */\n getValueByComponentId(componentId: ComponentID): T | null {\n const tuple = this.hashMap.get(componentId.toString());\n if (!tuple) return null;\n return tuple[1];\n }\n\n /**\n * returns an array.\n */\n toArray() {\n return Array.from(this.hashMap.values());\n }\n\n /**\n * map entries and return a new component map.\n */\n map<NewType>(predicate: (value: T, component: Component) => NewType): ComponentMap<NewType> {\n const tuples: [string, [Component, NewType]][] = this.toArray().map(([component, value]) => {\n const newValue = predicate(value, component);\n return [component.id.toString(), [component, newValue]];\n });\n\n return new ComponentMap(new Map(tuples));\n }\n\n /**\n * similar to Array.forEach, but here you get both, the value and the component.\n */\n forEach(predicate: (value: T, component: Component) => void): void {\n this.toArray().forEach(([component, value]) => {\n predicate(value, component);\n });\n }\n\n /**\n * flatten values of all components into a single array.\n */\n flattenValue(): T[] {\n return this.toArray().reduce((acc: T[], [, value]) => {\n acc = acc.concat(value);\n return acc;\n }, []);\n }\n\n /**\n * filter all components with empty values and return a new map.\n */\n filter(predicate: (value: T) => boolean): ComponentMap<T> {\n const tuples = this.toArray().filter(([, value]) => {\n return predicate(value);\n });\n\n const asMap: [string, [Component, T]][] = tuples.map(([component, value]) => {\n return [component.id.toString(), [component, value]];\n });\n\n return new ComponentMap(new Map(asMap));\n }\n\n /**\n * get all component ids.\n */\n keys() {\n return this.hashMap.keys();\n }\n\n static create<U>(rawMap: [Component, U][]) {\n const newMap: [string, [Component, U]][] = rawMap.map(([component, data]) => {\n return [component.id.toString(), [component, data]];\n });\n return new ComponentMap(new Map(newMap));\n }\n\n /**\n * create a component map from components and a value predicate.\n * @param components components to zip into the map.\n * @param predicate predicate for returning desired value.\n */\n static as<U>(components: Component[], predicate: (component: Component) => U): ComponentMap<U> {\n const tuples: [string, [Component, U]][] = components.map((component) => {\n return [component.id.toString(), [component, predicate(component)]];\n });\n\n return new ComponentMap(new Map(tuples));\n }\n}\n"],"mappings":";;;;;;;;;AAGA;AACA;AACA;AACO,MAAMA,YAAN,CAAsB;EAC3BC,WAAW,CAAUC,OAAV,EAAgD;IAAA,KAAtCA,OAAsC,GAAtCA,OAAsC;EAAE;EAE7D;AACF;AACA;;;EACEC,WAAW,CAACC,SAAD,EAAuB;IAChC,OAAO,KAAKF,OAAL,CAAaG,GAAb,CAAiBD,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAjB,CAAP;EACD;;EAEa,IAAVC,UAAU,GAAG;IACf,OAAO,KAAKC,OAAL,GAAeC,GAAf,CAAmB,CAAC,CAACN,SAAD,CAAD,KAAiBA,SAApC,CAAP;EACD;EAED;AACF;AACA;;;EACEC,GAAG,CAACD,SAAD,EAAuB;IACxB,OAAO,KAAKF,OAAL,CAAaG,GAAb,CAAiBD,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAjB,CAAP;EACD;EAED;AACF;AACA;;;EACEI,qBAAqB,CAACC,WAAD,EAAqC;IACxD,MAAMC,KAAK,GAAG,KAAKX,OAAL,CAAaG,GAAb,CAAiBO,WAAW,CAACL,QAAZ,EAAjB,CAAd;IACA,IAAI,CAACM,KAAL,EAAY,OAAO,IAAP;IACZ,OAAOA,KAAK,CAAC,CAAD,CAAZ;EACD;EAED;AACF;AACA;;;EACEJ,OAAO,GAAG;IACR,OAAOK,KAAK,CAACC,IAAN,CAAW,KAAKb,OAAL,CAAac,MAAb,EAAX,CAAP;EACD;EAED;AACF;AACA;;;EACEN,GAAG,CAAUO,SAAV,EAAyF;IAC1F,MAAMC,MAAwC,GAAG,KAAKT,OAAL,GAAeC,GAAf,CAAmB,CAAC,CAACN,SAAD,EAAYe,KAAZ,CAAD,KAAwB;MAC1F,MAAMC,QAAQ,GAAGH,SAAS,CAACE,KAAD,EAAQf,SAAR,CAA1B;MACA,OAAO,CAACA,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAD,EAA0B,CAACH,SAAD,EAAYgB,QAAZ,CAA1B,CAAP;IACD,CAHgD,CAAjD;IAKA,OAAO,IAAIpB,YAAJ,CAAiB,IAAIqB,GAAJ,CAAQH,MAAR,CAAjB,CAAP;EACD;EAED;AACF;AACA;;;EACEI,OAAO,CAACL,SAAD,EAA4D;IACjE,KAAKR,OAAL,GAAea,OAAf,CAAuB,CAAC,CAAClB,SAAD,EAAYe,KAAZ,CAAD,KAAwB;MAC7CF,SAAS,CAACE,KAAD,EAAQf,SAAR,CAAT;IACD,CAFD;EAGD;EAED;AACF;AACA;;;EACEmB,YAAY,GAAQ;IAClB,OAAO,KAAKd,OAAL,GAAee,MAAf,CAAsB,CAACC,GAAD,EAAW,GAAGN,KAAH,CAAX,KAAyB;MACpDM,GAAG,GAAGA,GAAG,CAACC,MAAJ,CAAWP,KAAX,CAAN;MACA,OAAOM,GAAP;IACD,CAHM,EAGJ,EAHI,CAAP;EAID;EAED;AACF;AACA;;;EACEE,MAAM,CAACV,SAAD,EAAoD;IACxD,MAAMC,MAAM,GAAG,KAAKT,OAAL,GAAekB,MAAf,CAAsB,CAAC,GAAGR,KAAH,CAAD,KAAe;MAClD,OAAOF,SAAS,CAACE,KAAD,CAAhB;IACD,CAFc,CAAf;IAIA,MAAMS,KAAiC,GAAGV,MAAM,CAACR,GAAP,CAAW,CAAC,CAACN,SAAD,EAAYe,KAAZ,CAAD,KAAwB;MAC3E,OAAO,CAACf,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAD,EAA0B,CAACH,SAAD,EAAYe,KAAZ,CAA1B,CAAP;IACD,CAFyC,CAA1C;IAIA,OAAO,IAAInB,YAAJ,CAAiB,IAAIqB,GAAJ,CAAQO,KAAR,CAAjB,CAAP;EACD;EAED;AACF;AACA;;;EACEC,IAAI,GAAG;IACL,OAAO,KAAK3B,OAAL,CAAa2B,IAAb,EAAP;EACD;;EAEY,OAANC,MAAM,CAAIC,MAAJ,EAA8B;IACzC,MAAMC,MAAkC,GAAGD,MAAM,CAACrB,GAAP,CAAW,CAAC,CAACN,SAAD,EAAY6B,IAAZ,CAAD,KAAuB;MAC3E,OAAO,CAAC7B,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAD,EAA0B,CAACH,SAAD,EAAY6B,IAAZ,CAA1B,CAAP;IACD,CAF0C,CAA3C;IAGA,OAAO,IAAIjC,YAAJ,CAAiB,IAAIqB,GAAJ,CAAQW,MAAR,CAAjB,CAAP;EACD;EAED;AACF;AACA;AACA;AACA;;;EACW,OAAFE,EAAE,CAAI1B,UAAJ,EAA6BS,SAA7B,EAAsF;IAC7F,MAAMC,MAAkC,GAAGV,UAAU,CAACE,GAAX,CAAgBN,SAAD,IAAe;MACvE,OAAO,CAACA,SAAS,CAACE,EAAV,CAAaC,QAAb,EAAD,EAA0B,CAACH,SAAD,EAAYa,SAAS,CAACb,SAAD,CAArB,CAA1B,CAAP;IACD,CAF0C,CAA3C;IAIA,OAAO,IAAIJ,YAAJ,CAAiB,IAAIqB,GAAJ,CAAQH,MAAR,CAAjB,CAAP;EACD;;AA5G0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { ComponentMap } from './component-map';\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentMeta","constructor","id","displayName","tokens","name","split","map","token","capitalize","join","toObject","from","object","ComponentID","fromObject"],"sources":["component-meta.ts"],"sourcesContent":["import { capitalize } from '@teambit/toolbox.string.capitalize';\nimport { ComponentID } from '@teambit/component-id';\n\nexport class ComponentMeta {\n constructor(\n /**\n * id the component.\n */\n readonly id: ComponentID\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 toObject() {\n return {\n id: this.id.toObject(),\n };\n }\n\n static from(object: { [key: string]: any }) {\n return new ComponentMeta(ComponentID.fromObject(object.id));\n }\n}\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,aAAN,CAAoB;EACzBC,WAAW;EACT;AACJ;AACA;EACaC,EAJA,EAKT;IAAA,KADSA,EACT,GADSA,EACT;EAAE;EAEJ;AACF;AACA;;;EACiB,IAAXC,WAAW,GAAG;IAChB,MAAMC,MAAM,GAAG,KAAKF,EAAL,CAAQG,IAAR,CAAaC,KAAb,CAAmB,GAAnB,EAAwBC,GAAxB,CAA6BC,KAAD,IAAW,IAAAC,2BAAA,EAAWD,KAAX,CAAvC,CAAf;IACA,OAAOJ,MAAM,CAACM,IAAP,CAAY,GAAZ,CAAP;EACD;;EAEDC,QAAQ,GAAG;IACT,OAAO;MACLT,EAAE,EAAE,KAAKA,EAAL,CAAQS,QAAR;IADC,CAAP;EAGD;;EAEU,OAAJC,IAAI,CAACC,MAAD,EAAiC;IAC1C,OAAO,IAAIb,aAAJ,CAAkBc,0BAAA,CAAYC,UAAZ,CAAuBF,MAAM,CAACX,EAA9B,CAAlB,CAAP;EACD;;AAxBwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentAspect","Aspect","create","id","dependencies","defaultConfig"],"sources":["component.aspect.ts"],"sourcesContent":["import { Aspect } from '@teambit/harmony';\n\nexport const ComponentAspect = Aspect.create({\n id: 'teambit.component/component',\n dependencies: [],\n defaultConfig: {},\n});\n\nexport default ComponentAspect;\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,eAAe,GAAGC,iBAAA,CAAOC,MAAP,CAAc;EAC3CC,EAAE,EAAE,6BADuC;EAE3CC,YAAY,EAAE,EAF6B;EAG3CC,aAAa,EAAE;AAH4B,CAAd,CAAxB;;;eAMQL,e"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Logo","height","display","justifyContent","width"],"sources":["component.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/bit-icons/components.svg\" />\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;EAAK,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAV;IAAkBC,OAAO,EAAE,MAA3B;IAAmCC,cAAc,EAAE;EAAnD;AAAZ,gBACE;EAAK,KAAK,EAAE;IAAEC,KAAK,EAAE;EAAT,CAAZ;EAA2B,GAAG,EAAC;AAA/B,EADF,CADK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component.graphql.ts"],"names":["componentSchema","componentExtension","typeDefs","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","getFile","path","maybeFile","find","undefined","contents","toString","mainFile","_consumer","headTag","latest","tags","toArray","tag","aspects","include","filter","serialize","logs","getLogs","log","hash","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","name","errorMessage","message","Query","getHost","componentExt"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;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;;;;;;AAKO,SAASA,eAAT,CAAyBC,kBAAzB,EAA4D;AACjE,SAAO;AACLC,IAAAA,QAAQ,EAAE,0BAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA5HS;AA6HLC,IAAAA,SAAS,EAAE;AACTC,MAAAA,UAAU,EAAEC,oCADH;AAETC,MAAAA,SAAS,EAAE;AACTC,QAAAA,EAAE,EAAGC,SAAD,IAA0BA,SAAS,CAACD,EAAV,CAAaE,QAAb,EADrB;AAETC,QAAAA,WAAW,EAAGF,SAAD,IAA0BA,SAAS,CAACE,WAFxC;AAGTC,QAAAA,EAAE,EAAGH,SAAD,IAA0B;AAC5B,iBAAOA,SAAS,CAACI,KAAV,CAAgBC,UAAhB,CAA2BC,KAA3B,CAAiCC,GAAjC,CAAsCC,IAAD,IAAUA,IAAI,CAACC,Q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","sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [Snap]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n username: String\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # component logs\n logs(type: String, offset: Int, limit: Int, head: String, sort: String): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }\n ) => {\n return (await component.getLogs(filter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"names":["componentSchema","componentExtension","typeDefs","gql","resolvers","JSONObject","GraphQLJSONObject","Component","id","component","toObject","displayName","fs","state","filesystem","files","map","file","relative","getFile","path","maybeFile","find","pathNormalizeToLinux","undefined","contents","toString","mainFile","_consumer","headTag","latest","tags","toArray","tag","aspects","include","filter","serialize","logs","getLogs","log","hash","ComponentHost","get","host","componentId","resolveComponentId","error","snaps","list","listInvalid","invalidComps","err","errorName","name","errorMessage","message","stripAnsi","Query","getHost","componentExt"],"sources":["component.graphql.ts"],"sourcesContent":["import stripAnsi from 'strip-ansi';\nimport gql from 'graphql-tag';\nimport { GraphQLJSONObject } from 'graphql-type-json';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils';\nimport { Component } from './component';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentMain } from './component.main.runtime';\n\nexport function componentSchema(componentExtension: ComponentMain) {\n return {\n typeDefs: gql`\n scalar JSON\n scalar JSONObject\n\n type ComponentID {\n name: String!\n version: String\n scope: String\n }\n\n type Tag {\n # semver assigned to the tag.\n version: String!\n\n # tag hash.\n hash: String!\n }\n\n type Snap {\n # hash of the snapshot.\n hash: String!\n\n # time of the snapshot.\n timestamp: String!\n\n # parents of the snap\n parents: [Snap]!\n\n # snapper\n author: Author!\n\n # snapshot message\n message: String\n }\n\n type LogEntry {\n message: String!\n username: String\n email: String\n date: String\n hash: String!\n tag: String\n id: String!\n }\n\n type Author {\n # display name of the snapper.\n displayName: String!\n\n # author of the snapper.\n email: String!\n }\n\n type Component {\n # id of the component.\n id: ComponentID!\n\n # head snap of the component.\n head: Snap\n\n # head tag of the component.\n headTag: Tag\n\n # list of all relative component paths.\n fs: [String]\n\n # relative path to the main file of the component\n mainFile: String\n\n # return specific file contents by relative file path.\n getFile(path: String): String\n\n # latest version of the component.\n latest: String\n\n # display name of the component\n displayName: String!\n\n # component buildStatus\n buildStatus: String\n\n # list of component releases.\n tags: [Tag]!\n\n # component logs\n logs(type: String, offset: Int, limit: Int, head: String, sort: String): [LogEntry]!\n\n aspects(include: [String]): [Aspect]\n }\n\n type Aspect {\n id: String!\n icon: String\n config: JSONObject\n data: JSONObject\n }\n\n type InvalidComponent {\n id: ComponentID!\n errorName: String!\n errorMessage: String!\n }\n\n type ComponentHost {\n id: ID!\n name: String!\n\n # load a component.\n get(id: String!, withState: Boolean): Component\n\n # list components\n list(offset: Int, limit: Int): [Component]!\n\n # list invalid components and their errors\n listInvalid: [InvalidComponent]!\n\n # get component logs(snaps) by component id\n snaps(id: String!): [LogEntry]! @deprecated(reason: \"Use the logs field on Component\")\n }\n\n type Query {\n getHost(id: String): ComponentHost\n }\n `,\n resolvers: {\n JSONObject: GraphQLJSONObject,\n Component: {\n id: (component: Component) => component.id.toObject(),\n displayName: (component: Component) => component.displayName,\n fs: (component: Component) => {\n return component.state.filesystem.files.map((file) => file.relative);\n },\n getFile: (component: Component, { path }: { path: string }) => {\n const maybeFile = component.state.filesystem.files.find(\n (file) => pathNormalizeToLinux(file.relative) === path\n );\n if (!maybeFile) return undefined;\n return maybeFile.contents.toString('utf-8');\n },\n mainFile: (component: Component) => {\n return component.state._consumer.mainFile;\n },\n headTag: (component: Component) => component.headTag?.toObject(),\n latest: (component: Component) => component.latest,\n tags: (component) => {\n // graphql doesn't support map types\n return component.tags.toArray().map((tag) => tag.toObject());\n },\n aspects: (component: Component, { include }: { include?: string[] }) => {\n return component.state.aspects.filter(include).serialize();\n },\n logs: async (\n component: Component,\n filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }\n ) => {\n return (await component.getLogs(filter)).map((log) => ({ ...log, id: log.hash }));\n },\n },\n ComponentHost: {\n get: async (host: ComponentFactory, { id }: { id: string }) => {\n try {\n const componentId = await host.resolveComponentId(id);\n const component = await host.get(componentId);\n return component;\n } catch (error: any) {\n return null;\n }\n },\n snaps: async (host: ComponentFactory, { id }: { id: string }) => {\n const componentId = await host.resolveComponentId(id);\n // return (await host.getLogs(componentId)).map(log => ({...log, id: log.hash}))\n return host.getLogs(componentId);\n },\n list: async (host: ComponentFactory, filter?: { offset: number; limit: number }) => {\n return host.list(filter);\n },\n listInvalid: async (host: ComponentFactory) => {\n const invalidComps = await host.listInvalid();\n return invalidComps.map(({ id, err }) => ({\n id,\n errorName: err.name,\n errorMessage: err.message ? stripAnsi(err.message) : err.name,\n }));\n },\n id: async (host: ComponentFactory) => {\n return host.name;\n },\n name: async (host: ComponentFactory) => {\n return host.name;\n },\n },\n Query: {\n getHost: (componentExt: ComponentMain, { id }: { id: string }) => {\n return componentExtension.getHost(id);\n },\n },\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;;;;;AAKO,SAASA,eAAT,CAAyBC,kBAAzB,EAA4D;EACjE,OAAO;IACLC,QAAQ,EAAE,IAAAC,qBAAA,CAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA5HS;IA6HLC,SAAS,EAAE;MACTC,UAAU,EAAEC,oCADH;MAETC,SAAS,EAAE;QACTC,EAAE,EAAGC,SAAD,IAA0BA,SAAS,CAACD,EAAV,CAAaE,QAAb,EADrB;QAETC,WAAW,EAAGF,SAAD,IAA0BA,SAAS,CAACE,WAFxC;QAGTC,EAAE,EAAGH,SAAD,IAA0B;UAC5B,OAAOA,SAAS,CAACI,KAAV,CAAgBC,UAAhB,CAA2BC,KAA3B,CAAiCC,GAAjC,CAAsCC,IAAD,IAAUA,IAAI,CAACC,QAApD,CAAP;QACD,CALQ;QAMTC,OAAO,E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"}
|
package/dist/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","getLogs","filter","allLogs","type","limit","offset","sort","typeFilter","snap","tag","filteredLogs","reverse","stringify","JSON","displayName","tokens","name","split","map","token","join","version","isModified","isOutdated","latestTag","byVersion","isNew","Promise","resolve","loadState","snapId","getState","loadSnap","snapToGet","BitError","getSnap","snapsIterable","options","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","get","checkout","write","path","fs","equals","component","toString"],"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 { slice } from 'lodash';\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.hash;\n }\n throw err;\n }\n }\n\n async getLogs(filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }) {\n const allLogs = await this.factory.getLogs(this.id, false, filter?.head);\n\n if (!filter) return allLogs;\n\n const { type, limit, offset, sort } = filter;\n\n const typeFilter = (snap) => {\n if (type === 'tag') return snap.tag;\n if (type === 'snap') return !snap.tag;\n return true;\n };\n\n let filteredLogs = (type && allLogs.filter(typeFilter)) || allLogs;\n if (limit) {\n filteredLogs = slice(filteredLogs, offset, limit + (offset || 0));\n }\n\n if (sort && sort === 'asc') return filteredLogs;\n\n return filteredLogs.reverse();\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 return this.factory.isModified(this);\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,"names":["Component","constructor","id","head","_state","tags","TagMap","factory","mainFile","state","config","filesystem","buildStatus","_consumer","headTag","undefined","byHash","hash","latest","getLatest","err","CouldNotFindLatest","getLogs","filter","allLogs","type","limit","offset","sort","typeFilter","snap","tag","filteredLogs","slice","reverse","stringify","JSON","displayName","tokens","name","split","map","token","capitalize","join","version","isModified","isOutdated","latestTag","byVersion","isNew","Promise","resolve","loadState","snapId","getState","loadSnap","snapToGet","BitError","getSnap","snapsIterable","options","snapToStart","nextSnaps","done","iterator","next","value","currSnapId","shift","parents","length","firstParentOnly","push","concat","stopFn","Symbol","asyncIterator","getClosestTag","snapToStartFrom","tagsHashMap","getHashMap","has","iterable","snaps","hashOfLastSnap","get","checkout","write","path","fs","equals","component","toString"],"sources":["component.ts"],"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 { slice } from 'lodash';\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.hash;\n }\n throw err;\n }\n }\n\n async getLogs(filter?: { type?: string; offset?: number; limit?: number; head?: string; sort?: string }) {\n const allLogs = await this.factory.getLogs(this.id, false, filter?.head);\n\n if (!filter) return allLogs;\n\n const { type, limit, offset, sort } = filter;\n\n const typeFilter = (snap) => {\n if (type === 'tag') return snap.tag;\n if (type === 'snap') return !snap.tag;\n return true;\n };\n\n let filteredLogs = (type && allLogs.filter(typeFilter)) || allLogs;\n if (limit) {\n filteredLogs = slice(filteredLogs, offset, limit + (offset || 0));\n }\n\n if (sort && sort === 'asc') return filteredLogs;\n\n return filteredLogs.reverse();\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 return this.factory.isModified(this);\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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component.main.runtime.ts"],"names":["ComponentMain","constructor","hostSlot","express","showFragmentSlot","registerHost","host","register","createAspectListFromLegacy","legacyExtensionDataList","scope","AspectList","fromLegacyExtensions","createAspectListFromEntries","entries","registerRoute","routes","routeEntries","map","route","ComponentRoute","flattenRoutes","setHostPriority","id","get","HostNotFound","_priorHost","getHost","getPriorHost","getRoute","routeName","toString","hosts","values","priorityHost","find","priority","getShowFragments","fragments","isHost","name","registerShowFragments","showFragments","provider","graphql","cli","configAspect","config","componentExtension","workspaceConfig","isLegacy","type","unregister","ShowCmd","NameFragment","MainFileFragment","IDFragment","ScopeFragment","FilesFragment","ExtensionsFragment","Slot","withType","MainRuntime","GraphqlAspect","ExpressAspect","CLIAspect","ConfigAspect","ComponentAspect","addRuntime"],"mappings":"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","sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ExpressAspect, ExpressMain, Route } from '@teambit/express';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { ConfigAspect } from '@teambit/config';\nimport type { ConfigMain } from '@teambit/config';\nimport { ComponentID } from '@teambit/component-id';\nimport { flatten, orderBy } from 'lodash';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentAspect } from './component.aspect';\nimport { componentSchema } from './component.graphql';\nimport { ComponentRoute } from './component.route';\nimport { AspectList } from './aspect-list';\nimport { HostNotFound } from './exceptions';\nimport { AspectEntry } from './aspect-entry';\nimport {\n ShowCmd,\n ShowFragment,\n NameFragment,\n MainFileFragment,\n IDFragment,\n ScopeFragment,\n FilesFragment,\n ExtensionsFragment,\n} from './show';\nimport { RegisteredComponentRoute } from '.';\n\nexport type ComponentHostSlot = SlotRegistry<ComponentFactory>;\n\nexport type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;\n\nexport class ComponentMain {\n constructor(\n /**\n * slot for component hosts to register.\n */\n private hostSlot: ComponentHostSlot,\n\n /**\n * Express Extension\n */\n private express: ExpressMain,\n\n private showFragmentSlot: ShowFragmentSlot\n ) {}\n\n /**\n * register a new component host.\n */\n registerHost(host: ComponentFactory) {\n this.hostSlot.register(host);\n return this;\n }\n\n /**\n * important! avoid using this method.\n * seems like this method was written to work around a very specific case when the ComponentID of the aspects are\n * not available. in case of new components, to get the ComponentID, the workspace-aspect is needed to get the\n * default-scope. when this method is called from the scope, there is no way to get the real component-id.\n * instead, this method asks for the \"scope\", which when called by the scope-aspect is the current scope-name.\n * it may or may not be the real scope-name of the aspect.\n * to fix this possibly incorrect scope-name, the `workspace.resolveScopeAspectListIds()` checks whether the\n * scope-name is the same as scope.name, and if so, resolve it to the correct scope-name.\n */\n createAspectListFromLegacy(legacyExtensionDataList: ExtensionDataList, scope?: string) {\n return AspectList.fromLegacyExtensions(legacyExtensionDataList, scope);\n }\n\n createAspectListFromEntries(entries: AspectEntry[]) {\n return new AspectList(entries);\n }\n\n registerRoute(routes: RegisteredComponentRoute[]) {\n const routeEntries = routes.map((route: RegisteredComponentRoute) => {\n return new ComponentRoute(route, this);\n });\n\n const flattenRoutes = flatten(routeEntries) as any as Route[];\n\n this.express.register(flattenRoutes);\n return this;\n }\n\n /**\n * set the prior host.\n */\n setHostPriority(id: string) {\n const host = this.hostSlot.get(id);\n if (!host) {\n throw new HostNotFound(id);\n }\n\n this._priorHost = host;\n return this;\n }\n\n /**\n * get component host by extension ID.\n */\n getHost(id?: string): ComponentFactory {\n if (id) {\n const host = this.hostSlot.get(id);\n if (!host) throw new HostNotFound(id);\n return host;\n }\n\n return this.getPriorHost();\n }\n\n getRoute(id: ComponentID, routeName: string) {\n return `/api/${id.toString()}/~aspect/${routeName}`;\n }\n\n /**\n * get the prior host.\n */\n private getPriorHost() {\n if (this._priorHost) return this._priorHost;\n\n const hosts = this.hostSlot.values();\n const priorityHost = hosts.find((host) => host.priority);\n return priorityHost || hosts[0];\n }\n\n getShowFragments() {\n const fragments = orderBy(flatten(this.showFragmentSlot.values()), ['weight', ['asc']]);\n return fragments;\n }\n\n isHost(name: string) {\n return !!this.hostSlot.get(name);\n }\n\n /**\n * register a show fragment to display further information in the `bit show` command.\n */\n registerShowFragments(showFragments: ShowFragment[]) {\n this.showFragmentSlot.register(showFragments);\n return this;\n }\n\n private _priorHost: ComponentFactory | undefined;\n\n static slots = [Slot.withType<ComponentFactory>(), Slot.withType<Route[]>(), Slot.withType<ShowFragment[]>()];\n\n static runtime = MainRuntime;\n static dependencies = [GraphqlAspect, ExpressAspect, CLIAspect, ConfigAspect];\n\n static async provider(\n [graphql, express, cli, configAspect]: [GraphqlMain, ExpressMain, CLIMain, ConfigMain],\n config,\n [hostSlot, showFragmentSlot]: [ComponentHostSlot, ShowFragmentSlot]\n ) {\n const componentExtension = new ComponentMain(hostSlot, express, showFragmentSlot);\n\n if ((configAspect.workspaceConfig && !configAspect.workspaceConfig.isLegacy) || configAspect.type === 'scope') {\n cli.unregister('show');\n cli.register(new ShowCmd(componentExtension));\n }\n\n componentExtension.registerShowFragments([\n new NameFragment(),\n new MainFileFragment(),\n new IDFragment(),\n new ScopeFragment(),\n new FilesFragment(),\n new ExtensionsFragment(),\n ]);\n graphql.register(componentSchema(componentExtension));\n\n return componentExtension;\n }\n}\n\nComponentAspect.addRuntime(ComponentMain);\n"]}
|
|
1
|
+
{"version":3,"names":["ComponentMain","constructor","hostSlot","express","showFragmentSlot","registerHost","host","register","createAspectListFromLegacy","legacyExtensionDataList","scope","AspectList","fromLegacyExtensions","createAspectListFromEntries","entries","registerRoute","routes","routeEntries","map","route","ComponentRoute","flattenRoutes","flatten","setHostPriority","id","get","HostNotFound","_priorHost","getHost","getPriorHost","getRoute","routeName","toString","hosts","values","priorityHost","find","priority","getShowFragments","fragments","orderBy","isHost","name","registerShowFragments","showFragments","provider","graphql","cli","configAspect","config","componentExtension","workspaceConfig","isLegacy","type","unregister","ShowCmd","NameFragment","MainFileFragment","IDFragment","ScopeFragment","FilesFragment","ExtensionsFragment","componentSchema","Slot","withType","MainRuntime","GraphqlAspect","ExpressAspect","CLIAspect","ConfigAspect","ComponentAspect","addRuntime"],"sources":["component.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ExpressAspect, ExpressMain, Route } from '@teambit/express';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { ConfigAspect } from '@teambit/config';\nimport type { ConfigMain } from '@teambit/config';\nimport { ComponentID } from '@teambit/component-id';\nimport { flatten, orderBy } from 'lodash';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config';\nimport { ComponentFactory } from './component-factory';\nimport { ComponentAspect } from './component.aspect';\nimport { componentSchema } from './component.graphql';\nimport { ComponentRoute } from './component.route';\nimport { AspectList } from './aspect-list';\nimport { HostNotFound } from './exceptions';\nimport { AspectEntry } from './aspect-entry';\nimport {\n ShowCmd,\n ShowFragment,\n NameFragment,\n MainFileFragment,\n IDFragment,\n ScopeFragment,\n FilesFragment,\n ExtensionsFragment,\n} from './show';\nimport { RegisteredComponentRoute } from '.';\n\nexport type ComponentHostSlot = SlotRegistry<ComponentFactory>;\n\nexport type ShowFragmentSlot = SlotRegistry<ShowFragment[]>;\n\nexport class ComponentMain {\n constructor(\n /**\n * slot for component hosts to register.\n */\n private hostSlot: ComponentHostSlot,\n\n /**\n * Express Extension\n */\n private express: ExpressMain,\n\n private showFragmentSlot: ShowFragmentSlot\n ) {}\n\n /**\n * register a new component host.\n */\n registerHost(host: ComponentFactory) {\n this.hostSlot.register(host);\n return this;\n }\n\n /**\n * important! avoid using this method.\n * seems like this method was written to work around a very specific case when the ComponentID of the aspects are\n * not available. in case of new components, to get the ComponentID, the workspace-aspect is needed to get the\n * default-scope. when this method is called from the scope, there is no way to get the real component-id.\n * instead, this method asks for the \"scope\", which when called by the scope-aspect is the current scope-name.\n * it may or may not be the real scope-name of the aspect.\n * to fix this possibly incorrect scope-name, the `workspace.resolveScopeAspectListIds()` checks whether the\n * scope-name is the same as scope.name, and if so, resolve it to the correct scope-name.\n */\n createAspectListFromLegacy(legacyExtensionDataList: ExtensionDataList, scope?: string) {\n return AspectList.fromLegacyExtensions(legacyExtensionDataList, scope);\n }\n\n createAspectListFromEntries(entries: AspectEntry[]) {\n return new AspectList(entries);\n }\n\n registerRoute(routes: RegisteredComponentRoute[]) {\n const routeEntries = routes.map((route: RegisteredComponentRoute) => {\n return new ComponentRoute(route, this);\n });\n\n const flattenRoutes = flatten(routeEntries) as any as Route[];\n\n this.express.register(flattenRoutes);\n return this;\n }\n\n /**\n * set the prior host.\n */\n setHostPriority(id: string) {\n const host = this.hostSlot.get(id);\n if (!host) {\n throw new HostNotFound(id);\n }\n\n this._priorHost = host;\n return this;\n }\n\n /**\n * get component host by extension ID.\n */\n getHost(id?: string): ComponentFactory {\n if (id) {\n const host = this.hostSlot.get(id);\n if (!host) throw new HostNotFound(id);\n return host;\n }\n\n return this.getPriorHost();\n }\n\n getRoute(id: ComponentID, routeName: string) {\n return `/api/${id.toString()}/~aspect/${routeName}`;\n }\n\n /**\n * get the prior host.\n */\n private getPriorHost() {\n if (this._priorHost) return this._priorHost;\n\n const hosts = this.hostSlot.values();\n const priorityHost = hosts.find((host) => host.priority);\n return priorityHost || hosts[0];\n }\n\n getShowFragments() {\n const fragments = orderBy(flatten(this.showFragmentSlot.values()), ['weight', ['asc']]);\n return fragments;\n }\n\n isHost(name: string) {\n return !!this.hostSlot.get(name);\n }\n\n /**\n * register a show fragment to display further information in the `bit show` command.\n */\n registerShowFragments(showFragments: ShowFragment[]) {\n this.showFragmentSlot.register(showFragments);\n return this;\n }\n\n private _priorHost: ComponentFactory | undefined;\n\n static slots = [Slot.withType<ComponentFactory>(), Slot.withType<Route[]>(), Slot.withType<ShowFragment[]>()];\n\n static runtime = MainRuntime;\n static dependencies = [GraphqlAspect, ExpressAspect, CLIAspect, ConfigAspect];\n\n static async provider(\n [graphql, express, cli, configAspect]: [GraphqlMain, ExpressMain, CLIMain, ConfigMain],\n config,\n [hostSlot, showFragmentSlot]: [ComponentHostSlot, ShowFragmentSlot]\n ) {\n const componentExtension = new ComponentMain(hostSlot, express, showFragmentSlot);\n\n if ((configAspect.workspaceConfig && !configAspect.workspaceConfig.isLegacy) || configAspect.type === 'scope') {\n cli.unregister('show');\n cli.register(new ShowCmd(componentExtension));\n }\n\n componentExtension.registerShowFragments([\n new NameFragment(),\n new MainFileFragment(),\n new IDFragment(),\n new ScopeFragment(),\n new FilesFragment(),\n new ExtensionsFragment(),\n ]);\n graphql.register(componentSchema(componentExtension));\n\n return componentExtension;\n }\n}\n\nComponentAspect.addRuntime(ComponentMain);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentRoute","constructor","registerRoute","componentExtension","dynamicRouteRegex","route","method","componentMiddlewares","concat","middlewares","req","res","next","resolveComponent","componentId","params","host","getHost","compId","resolveComponentId","component","get"],"sources":["component.route.ts"],"sourcesContent":["import { NextFunction, Request, Response, Route } from '@teambit/express';\n\nimport { ComponentMain } from './component.main.runtime';\n\nexport type RegisteredComponentRoute = Route & {\n resolveComponent?: boolean;\n};\n\nexport type ComponentUrlParams = {\n componentId: string;\n};\n\nexport class ComponentRoute implements Route {\n constructor(private registerRoute: RegisteredComponentRoute, private componentExtension: ComponentMain) {}\n dynamicRouteRegex = '/?[^/@]+/[^~]*';\n readonly route = `/:componentId(${this.dynamicRouteRegex})/~aspect${this.registerRoute.route}`;\n\n get componentMiddlewares() {\n return [\n async (req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => {\n const resolveComponent = this.registerRoute.resolveComponent ?? true;\n if (resolveComponent) {\n const { componentId } = req.params;\n const host = this.componentExtension.getHost();\n const compId = await host.resolveComponentId(componentId);\n const component = await host.get(compId);\n // @ts-ignore\n req.component = component;\n }\n next();\n },\n ];\n }\n\n method = this.registerRoute.method;\n // @ts-ignore\n middlewares = this.componentMiddlewares.concat(this.registerRoute.middlewares);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYO,MAAMA,cAAN,CAAsC;EAC3CC,WAAW,CAASC,aAAT,EAA0DC,kBAA1D,EAA6F;IAAA,KAApFD,aAAoF,GAApFA,aAAoF;IAAA,KAAnCC,kBAAmC,GAAnCA,kBAAmC;IAAA,2DACpF,gBADoF;IAAA,+CAEtF,iBAAgB,KAAKC,iBAAkB,YAAW,KAAKF,aAAL,CAAmBG,KAAM,EAFW;IAAA,gDAqB/F,KAAKH,aAAL,CAAmBI,MArB4E;IAAA,qDAuB1F,KAAKC,oBAAL,CAA0BC,MAA1B,CAAiC,KAAKN,aAAL,CAAmBO,WAApD,CAvB0F;EAAE;;EAIlF,IAApBF,oBAAoB,GAAG;IACzB,OAAO,CACL,OAAOG,GAAP,EAAyCC,GAAzC,EAAwDC,IAAxD,KAA+E;MAAA;;MAC7E,MAAMC,gBAAgB,4BAAG,KAAKX,aAAL,CAAmBW,gBAAtB,yEAA0C,IAAhE;;MACA,IAAIA,gBAAJ,EAAsB;QACpB,MAAM;UAAEC;QAAF,IAAkBJ,GAAG,CAACK,MAA5B;QACA,MAAMC,IAAI,GAAG,KAAKb,kBAAL,CAAwBc,OAAxB,EAAb;QACA,MAAMC,MAAM,GAAG,MAAMF,IAAI,CAACG,kBAAL,CAAwBL,WAAxB,CAArB;QACA,MAAMM,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAL,CAASH,MAAT,CAAxB,CAJoB,CAKpB;;QACAR,GAAG,CAACU,SAAJ,GAAgBA,SAAhB;MACD;;MACDR,IAAI;IACL,CAZI,CAAP;EAcD;;AApB0C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["component.ui.runtime.tsx"],"names":["componentIdUrlRegex","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","getMenu","registerRoute","route","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","section","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","addCommand","keyBindings","addSearcher","registerMenuItem","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","ComponentAspect","addRuntime"],"mappings":"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","sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\n\nimport { NavLinkProps } from '@teambit/base-ui.routing.nav-link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\n\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, Menu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport const componentIdUrlRegex = '[\\\\w\\\\/-]*[\\\\w-]';\n\nexport class ComponentUI {\n readonly routePath = `/:componentId(${componentIdUrlRegex})`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n private consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${version}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n />\n );\n }\n\n getMenu(host: string) {\n return (\n <Menu\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n />\n );\n }\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n registerNavigation(nav: NavLinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: NavLinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const section = new AspectSection();\n\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(section.route);\n componentUI.registerWidget(section.navigationLink, section.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"]}
|
|
1
|
+
{"version":3,"names":["componentIdUrlRegex","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","getMenu","registerRoute","route","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","section","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","addCommand","keyBindings","addSearcher","registerMenuItem","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\n\nimport { NavLinkProps } from '@teambit/base-ui.routing.nav-link';\nimport CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport PreviewAspect, { ClickInsideAnIframeEvent } from '@teambit/preview';\nimport PubsubAspect, { BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport ReactRouterAspect, { ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\n\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport { ConsumeMethodSlot, ConsumePlugin, Menu, NavPlugin, OrderedNavigationSlot } from './ui/menu';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport const componentIdUrlRegex = '[\\\\w\\\\/-]*[\\\\w-]';\n\nexport class ComponentUI {\n readonly routePath = `/:componentId(${componentIdUrlRegex})`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n private consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${version}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n />\n );\n }\n\n getMenu(host: string) {\n return (\n <Menu\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n />\n );\n }\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n registerNavigation(nav: NavLinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: NavLinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n ];\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const section = new AspectSection();\n\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(section.route);\n componentUI.registerWidget(section.navigationLink, section.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Config","constructor","main","extensions","legacyProperties"],"sources":["config.ts"],"sourcesContent":["import { Compilers, Testers } from '@teambit/legacy/dist/consumer/config/abstract-config';\nimport { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { PathLinux } from '@teambit/legacy/dist/utils/path';\n// import { CustomResolvedPath } from '@teambit/legacy/dist/consumer/component/consumer-component';\n// import { ComponentOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\n\ntype LegacyConfigProps = {\n lang?: string;\n compiler?: string | Compilers;\n tester?: string | Testers;\n bindingPrefix: string;\n extensions?: ExtensionDataList;\n overrides?: ComponentOverridesData;\n};\n\n/**\n * in-memory representation of the component configuration.\n */\nexport default class Config {\n constructor(\n /**\n * version main file\n */\n readonly main: PathLinux,\n\n /**\n * configured extensions\n */\n readonly extensions: ExtensionDataList,\n\n readonly legacyProperties?: LegacyConfigProps\n ) {}\n}\n"],"mappings":";;;;;;;AAIA;AACA;;AAWA;AACA;AACA;AACe,MAAMA,MAAN,CAAa;EAC1BC,WAAW;EACT;AACJ;AACA;EACaC,IAJA;EAMT;AACJ;AACA;EACaC,UATA,EAWAC,gBAXA,EAYT;IAAA,KARSF,IAQT,GARSA,IAQT;IAAA,KAHSC,UAGT,GAHSA,UAGT;IAAA,KADSC,gBACT,GADSA,gBACT;EAAE;;AAbsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["DEV_ENV","RUNTIME_ENV","DependencyId","BitId","Dependency","constructor","id","PackageDependency","ComponentDependency","DependencyList","Array","packages","filter","dep","components","fromArray","dependencies","Dependencies","runtime","dev","peer","getByEnvironment","env","concat","BitError","computeDev","computeRuntime"],"sources":["dependencies.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitError } from '@teambit/bit-error';\nimport { BitId } from '@teambit/legacy-bit-id';\n\nconst DEV_ENV = 'development';\nconst RUNTIME_ENV = 'runtime';\n\n// type Environment = DEV_ENV | RUNTIME_ENV;\ntype Environment = 'development' | 'runtime';\n// type WrappingMethod = 'component' | 'package';\n\nexport class DependencyId extends BitId {}\n\nexport class Dependency {\n constructor(public id: DependencyId) {}\n}\n\nexport class PackageDependency extends Dependency {}\n\nexport class ComponentDependency extends Dependency {}\n\nexport class DependencyList extends Array<Dependency> {\n /**\n * Get only package dependencies\n *\n * @readonly\n * @memberof DependencyList\n */\n get packages(): PackageDependency[] {\n return this.filter((dep) => dep instanceof PackageDependency);\n }\n\n get components(): ComponentDependency[] {\n return this.filter((dep) => dep instanceof ComponentDependency);\n }\n\n static fromArray(dependencies: Dependency[]): DependencyList {\n return new DependencyList(...dependencies);\n }\n}\n\nexport class Dependencies {\n constructor(public runtime: DependencyList, public dev: DependencyList, public peer: DependencyList) {}\n\n private getByEnvironment(env: Environment): DependencyList {\n if (env === DEV_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));\n }\n if (env === RUNTIME_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.peer));\n }\n throw new BitError(`env ${env} is not supported`);\n }\n\n /**\n * Get dependencies needed for development environnement such as runtime, dev and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeDev(): DependencyList {\n return this.getByEnvironment(DEV_ENV);\n }\n\n /**\n * Get dependencies needed for runtime environnement such as runtime and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeRuntime(): DependencyList {\n return this.getByEnvironment(RUNTIME_ENV);\n }\n}\n"],"mappings":";;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAFA;AAIA,MAAMA,OAAO,GAAG,aAAhB;AACA,MAAMC,WAAW,GAAG,SAApB,C,CAEA;;AAEA;AAEO,MAAMC,YAAN,SAA2BC,oBAA3B,CAAiC;;;;AAEjC,MAAMC,UAAN,CAAiB;EACtBC,WAAW,CAAQC,EAAR,EAA0B;IAAA,KAAlBA,EAAkB,GAAlBA,EAAkB;EAAE;;AADjB;;;;AAIjB,MAAMC,iBAAN,SAAgCH,UAAhC,CAA2C;;;;AAE3C,MAAMI,mBAAN,SAAkCJ,UAAlC,CAA6C;;;;AAE7C,MAAMK,cAAN,SAA6BC,KAA7B,CAA+C;EACpD;AACF;AACA;AACA;AACA;AACA;EACc,IAARC,QAAQ,GAAwB;IAClC,OAAO,KAAKC,MAAL,CAAaC,GAAD,IAASA,GAAG,YAAYN,iBAApC,CAAP;EACD;;EAEa,IAAVO,UAAU,GAA0B;IACtC,OAAO,KAAKF,MAAL,CAAaC,GAAD,IAASA,GAAG,YAAYL,mBAApC,CAAP;EACD;;EAEe,OAATO,SAAS,CAACC,YAAD,EAA6C;IAC3D,OAAO,IAAIP,cAAJ,CAAmB,GAAGO,YAAtB,CAAP;EACD;;AAjBmD;;;;AAoB/C,MAAMC,YAAN,CAAmB;EACxBZ,WAAW,CAAQa,OAAR,EAAwCC,GAAxC,EAAoEC,IAApE,EAA0F;IAAA,KAAlFF,OAAkF,GAAlFA,OAAkF;IAAA,KAAlDC,GAAkD,GAAlDA,GAAkD;IAAA,KAAtBC,IAAsB,GAAtBA,IAAsB;EAAE;;EAE/FC,gBAAgB,CAACC,GAAD,EAAmC;IACzD,IAAIA,GAAG,KAAKtB,OAAZ,EAAqB;MACnB,OAAOS,cAAc,CAACM,SAAf,CAAyB,KAAKG,OAAL,CAAaK,MAAb,CAAoB,KAAKJ,GAAzB,EAA8BI,MAA9B,CAAqC,KAAKH,IAA1C,CAAzB,CAAP;IACD;;IACD,IAAIE,GAAG,KAAKrB,WAAZ,EAAyB;MACvB,OAAOQ,cAAc,CAACM,SAAf,CAAyB,KAAKG,OAAL,CAAaK,MAAb,CAAoB,KAAKH,IAAzB,CAAzB,CAAP;IACD;;IACD,MAAM,KAAII,oBAAJ,EAAc,OAAMF,GAAI,mBAAxB,CAAN;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACEG,UAAU,GAAmB;IAC3B,OAAO,KAAKJ,gBAAL,CAAsBrB,OAAtB,CAAP;EACD;EAED;AACF;AACA;AACA;AACA;AACA;;;EACE0B,cAAc,GAAmB;IAC/B,OAAO,KAAKL,gBAAL,CAAsBpB,WAAtB,CAAP;EACD;;AA/BuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { Dependencies } from './dependencies';\n"],"mappings":";;;;;;;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["CouldNotFindLatest","Error","constructor","semverArray","join","report","message"],"sources":["could-not-find-latest.ts"],"sourcesContent":["export class CouldNotFindLatest extends Error {\n constructor(semverArray: string[]) {\n super(`could not find latest semver in array: ${semverArray.join(', ')}`);\n }\n report() {\n return this.message;\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,kBAAN,SAAiCC,KAAjC,CAAuC;EAC5CC,WAAW,CAACC,WAAD,EAAwB;IACjC,MAAO,0CAAyCA,WAAW,CAACC,IAAZ,CAAiB,IAAjB,CAAuB,EAAvE;EACD;;EACDC,MAAM,GAAG;IACP,OAAO,KAAKC,OAAZ;EACD;;AAN2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["HostNotFound","Error","constructor","hostName","toString"],"sources":["host-not-found.ts"],"sourcesContent":["export class HostNotFound extends Error {\n constructor(\n /**\n * name of the host.\n */\n private hostName: string\n ) {\n super();\n }\n\n toString() {\n return `[component] error: host '${this.hostName}' was not found`;\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,YAAN,SAA2BC,KAA3B,CAAiC;EACtCC,WAAW;EACT;AACJ;AACA;EACYC,QAJC,EAKT;IACA;IADA,KADQA,QACR,GADQA,QACR;EAED;;EAEDC,QAAQ,GAAG;IACT,OAAQ,4BAA2B,KAAKD,QAAS,iBAAjD;EACD;;AAZqC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["MainFileNotFound","Error","constructor","id","mainFile","toString"],"sources":["main-file-not-found.ts"],"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"],"mappings":";;;;;;;AAEO,MAAMA,gBAAN,SAA+BC,KAA/B,CAAqC;EAC1CC,WAAW;EACT;AACJ;AACA;EACaC,EAJA,EAKAC,QALA,EAMT;IACA;IADA,KAFSD,EAET,GAFSA,EAET;IAAA,KADSC,QACT,GADSA,QACT;EAED;;EAEDC,QAAQ,GAAG;IACT,OAAQ,gCAA+B,KAAKD,QAAS,kBAAiB,KAAKD,EAAL,CAAQE,QAAR,EAAmB,gBAAzF;EACD;;AAbyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["nothing-to-snap.ts"],"
|
|
1
|
+
{"version":3,"names":["NothingToSnap","Error"],"sources":["nothing-to-snap.ts"],"sourcesContent":["export default class NothingToSnap extends Error {}\n"],"mappings":";;;;;;;AAAe,MAAMA,aAAN,SAA4BC,KAA5B,CAAkC"}
|
package/dist/hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["hash.ts"],"sourcesContent":["/**\n * type for representing content-addressable filesystem hashes.\n */\nexport type Hash = string;\n"],"mappings":""}
|
package/dist/head.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["head.ts"],"sourcesContent":[""],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["history-graph.ts"],"
|
|
1
|
+
{"version":3,"names":["HistoryGraph"],"sources":["history-graph.ts"],"sourcesContent":["export default class HistoryGraph {}\n"],"mappings":";;;;;;;AAAe,MAAMA,YAAN,CAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ComponentHostModel","constructor","name","components","from","data","getHost","ComponentModel","fromArray","list"],"sources":["component-host-model.ts"],"sourcesContent":["import { ComponentModel } from '../ui';\n\nexport class ComponentHostModel {\n constructor(readonly name: string, readonly components: ComponentModel[]) {}\n\n static from(data: any) {\n return new ComponentHostModel(data.getHost.name, ComponentModel.fromArray(data.getHost.list));\n }\n}\n"],"mappings":";;;;;;;AAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,kBAAN,CAAyB;EAC9BC,WAAW,CAAUC,IAAV,EAAiCC,UAAjC,EAA+D;IAAA,KAArDD,IAAqD,GAArDA,IAAqD;IAAA,KAA9BC,UAA8B,GAA9BA,UAA8B;EAAE;;EAEjE,OAAJC,IAAI,CAACC,IAAD,EAAY;IACrB,OAAO,IAAIL,kBAAJ,CAAuBK,IAAI,CAACC,OAAL,CAAaJ,IAApC,EAA0CK,oBAAA,CAAeC,SAAf,CAAyBH,IAAI,CAACC,OAAL,CAAaG,IAAtC,CAA1C,CAAP;EACD;;AAL6B"}
|