@teambit/builder 1.0.27 → 1.0.28
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/artifact/artifact-extractor.ts +1 -1
- package/artifact/artifact-list.ts +2 -2
- package/dist/artifact/artifact-extractor.js +1 -1
- package/dist/artifact/artifact-extractor.js.map +1 -1
- package/dist/artifact/artifact-list.d.ts +2 -2
- package/dist/artifact/artifact-list.js.map +1 -1
- package/dist/builder.main.runtime.js +3 -3
- package/dist/builder.main.runtime.js.map +1 -1
- package/dist/builder.route.js +1 -1
- package/dist/builder.route.js.map +1 -1
- package/dist/preview-1697836073970.js +7 -0
- package/package.json +22 -22
- package/dist/preview-1697628054879.js +0 -7
|
@@ -76,7 +76,7 @@ export class ArtifactExtractor {
|
|
|
76
76
|
const scope = this.componentMain.getHost(ScopeAspect.id) as ScopeMain;
|
|
77
77
|
// @todo: optimize this to first import all missing hashes.
|
|
78
78
|
await pMapSeries(artifactListPerId, async ({ id, artifacts }) => {
|
|
79
|
-
const vinyls = await artifacts.getVinylsAndImportIfMissing(id
|
|
79
|
+
const vinyls = await artifacts.getVinylsAndImportIfMissing(id, scope.legacyScope);
|
|
80
80
|
// make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.
|
|
81
81
|
const idAsFilename = filenamify(id.toStringWithoutVersion(), { replacement: '_' });
|
|
82
82
|
const compPath = path.join(outDir, idAsFilename);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component } from '@teambit/component';
|
|
2
2
|
import pMapSeries from 'p-map-series';
|
|
3
3
|
import type { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
|
|
4
|
-
import {
|
|
4
|
+
import { ComponentID } from '@teambit/component-id';
|
|
5
5
|
import { Scope } from '@teambit/legacy/dist/scope';
|
|
6
6
|
import { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';
|
|
7
7
|
import { FsArtifact } from './fs-artifact';
|
|
@@ -80,7 +80,7 @@ export class ArtifactList<T extends Artifact> extends Array<T> {
|
|
|
80
80
|
}, {});
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
async getVinylsAndImportIfMissing(id:
|
|
83
|
+
async getVinylsAndImportIfMissing(id: ComponentID, scope: Scope): Promise<ArtifactVinyl[]> {
|
|
84
84
|
if (this.isEmpty()) return [];
|
|
85
85
|
const vinyls = await pMapSeries(this, (artifact) => artifact.files.getVinylsAndImportIfMissing(id, scope));
|
|
86
86
|
return vinyls.flat();
|
|
@@ -112,7 +112,7 @@ class ArtifactExtractor {
|
|
|
112
112
|
id,
|
|
113
113
|
artifacts
|
|
114
114
|
}) => {
|
|
115
|
-
const vinyls = await artifacts.getVinylsAndImportIfMissing(id
|
|
115
|
+
const vinyls = await artifacts.getVinylsAndImportIfMissing(id, scope.legacyScope);
|
|
116
116
|
// make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.
|
|
117
117
|
const idAsFilename = (0, _filenamify().default)(id.toStringWithoutVersion(), {
|
|
118
118
|
replacement: '_'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_filenamify","_fsExtra","_scope","_pMapSeries","_minimatch","_artifactFiles","_artifactList","_artifact","obj","__esModule","default","ArtifactExtractor","constructor","componentMain","builder","pattern","options","list","host","getHost","ids","idsByPattern","components","getMany","artifactListPerId","map","component","id","artifacts","getArtifacts","filterByOptions","saveFilesInFileSystemIfAsked","artifactsObjectsToExtractorResults","groupResultsByAspect","extractorResult","result","reduce","acc","current","aspectId","push","outDir","scope","ScopeAspect","pMapSeries","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","idAsFilename","filenamify","toStringWithoutVersion","replacement","compPath","path","join","Promise","all","vinyl","fs","outputFile","contents","results","artifact","artifactName","name","task","taskName","generatedBy","files","refs","ref","relativePath","aspect","filteredArtifacts","forEach","item","filter","minimatch","Artifact","def","ArtifactFiles","isEmpty","ArtifactList","fromArray","exports"],"sources":["artifact-extractor.ts"],"sourcesContent":["import path from 'path';\nimport filenamify from 'filenamify';\nimport fs from 'fs-extra';\nimport { ComponentMain } from '@teambit/component';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport pMapSeries from 'p-map-series';\nimport minimatch from 'minimatch';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { BuilderMain } from '../builder.main.runtime';\nimport { ArtifactsOpts } from './artifacts.cmd';\nimport { ArtifactList } from './artifact-list';\nimport { Artifact } from './artifact';\n\nexport type ExtractorResult = {\n id: ComponentID;\n artifacts: ExtractorArtifactResult[];\n};\n\nexport type ExtractorArtifactResult = {\n artifactName: string;\n aspectId: string;\n taskName: string;\n files: string[];\n};\n\nexport type ExtractorResultGrouped = {\n id: ComponentID;\n artifacts: { [aspectId: string]: ExtractorArtifactResult[] };\n};\n\ntype ArtifactListPerId = {\n id: ComponentID;\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class ArtifactExtractor {\n constructor(\n private componentMain: ComponentMain,\n private builder: BuilderMain,\n private pattern: string,\n private options: ArtifactsOpts\n ) {}\n\n async list(): Promise<ExtractorResult[]> {\n const host = this.componentMain.getHost();\n const ids = await host.idsByPattern(this.pattern);\n const components = await host.getMany(ids);\n const artifactListPerId: ArtifactListPerId[] = components.map((component) => {\n return {\n id: component.id,\n artifacts: this.builder.getArtifacts(component),\n };\n });\n this.filterByOptions(artifactListPerId);\n await this.saveFilesInFileSystemIfAsked(artifactListPerId);\n\n return this.artifactsObjectsToExtractorResults(artifactListPerId);\n }\n\n groupResultsByAspect(extractorResult: ExtractorResult[]) {\n return extractorResult.map((result) => {\n const artifacts = result.artifacts.reduce((acc, current) => {\n (acc[current.aspectId] ||= []).push(current);\n return acc;\n }, {});\n return { id: result.id, artifacts };\n });\n }\n\n private async saveFilesInFileSystemIfAsked(artifactListPerId: ArtifactListPerId[]) {\n const outDir = this.options.outDir;\n if (!outDir) {\n return;\n }\n const scope = this.componentMain.getHost(ScopeAspect.id) as ScopeMain;\n // @todo: optimize this to first import all missing hashes.\n await pMapSeries(artifactListPerId, async ({ id, artifacts }) => {\n const vinyls = await artifacts.getVinylsAndImportIfMissing(id._legacy, scope.legacyScope);\n // make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.\n const idAsFilename = filenamify(id.toStringWithoutVersion(), { replacement: '_' });\n const compPath = path.join(outDir, idAsFilename);\n await Promise.all(vinyls.map((vinyl) => fs.outputFile(path.join(compPath, vinyl.path), vinyl.contents)));\n });\n }\n\n private artifactsObjectsToExtractorResults(artifactListPerId: ArtifactListPerId[]): ExtractorResult[] {\n return artifactListPerId.map(({ id, artifacts }) => {\n const results: ExtractorArtifactResult[] = artifacts.map((artifact) => {\n return {\n artifactName: artifact.name,\n aspectId: artifact.task.aspectId,\n taskName: artifact.task.name || artifact.generatedBy,\n files: artifact.files.refs.map((ref) => ref.relativePath),\n };\n });\n return {\n id,\n artifacts: results,\n };\n });\n }\n\n private filterByOptions(artifactListPerId: ArtifactListPerId[]) {\n const { aspect, task, files } = this.options;\n let filteredArtifacts: Artifact[] = [];\n\n artifactListPerId.forEach((item) => {\n filteredArtifacts = item.artifacts.filter((artifact) => {\n if (aspect && aspect !== artifact.task.aspectId) return false;\n if (task && task !== artifact.task.name) return false;\n return true;\n });\n if (files) {\n filteredArtifacts = item.artifacts\n .map((artifact) => {\n const refs = artifact.files.refs.filter((ref) => minimatch(ref.relativePath, files));\n return new Artifact(artifact.def, new ArtifactFiles([], [], refs), artifact.task);\n })\n // remove artifacts with no files\n .filter((artifact) => !artifact.isEmpty());\n }\n item.artifacts = ArtifactList.fromArray(filteredArtifacts);\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","_filenamify","_fsExtra","_scope","_pMapSeries","_minimatch","_artifactFiles","_artifactList","_artifact","obj","__esModule","default","ArtifactExtractor","constructor","componentMain","builder","pattern","options","list","host","getHost","ids","idsByPattern","components","getMany","artifactListPerId","map","component","id","artifacts","getArtifacts","filterByOptions","saveFilesInFileSystemIfAsked","artifactsObjectsToExtractorResults","groupResultsByAspect","extractorResult","result","reduce","acc","current","aspectId","push","outDir","scope","ScopeAspect","pMapSeries","vinyls","getVinylsAndImportIfMissing","legacyScope","idAsFilename","filenamify","toStringWithoutVersion","replacement","compPath","path","join","Promise","all","vinyl","fs","outputFile","contents","results","artifact","artifactName","name","task","taskName","generatedBy","files","refs","ref","relativePath","aspect","filteredArtifacts","forEach","item","filter","minimatch","Artifact","def","ArtifactFiles","isEmpty","ArtifactList","fromArray","exports"],"sources":["artifact-extractor.ts"],"sourcesContent":["import path from 'path';\nimport filenamify from 'filenamify';\nimport fs from 'fs-extra';\nimport { ComponentMain } from '@teambit/component';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport { ComponentID } from '@teambit/component-id';\nimport pMapSeries from 'p-map-series';\nimport minimatch from 'minimatch';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { BuilderMain } from '../builder.main.runtime';\nimport { ArtifactsOpts } from './artifacts.cmd';\nimport { ArtifactList } from './artifact-list';\nimport { Artifact } from './artifact';\n\nexport type ExtractorResult = {\n id: ComponentID;\n artifacts: ExtractorArtifactResult[];\n};\n\nexport type ExtractorArtifactResult = {\n artifactName: string;\n aspectId: string;\n taskName: string;\n files: string[];\n};\n\nexport type ExtractorResultGrouped = {\n id: ComponentID;\n artifacts: { [aspectId: string]: ExtractorArtifactResult[] };\n};\n\ntype ArtifactListPerId = {\n id: ComponentID;\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class ArtifactExtractor {\n constructor(\n private componentMain: ComponentMain,\n private builder: BuilderMain,\n private pattern: string,\n private options: ArtifactsOpts\n ) {}\n\n async list(): Promise<ExtractorResult[]> {\n const host = this.componentMain.getHost();\n const ids = await host.idsByPattern(this.pattern);\n const components = await host.getMany(ids);\n const artifactListPerId: ArtifactListPerId[] = components.map((component) => {\n return {\n id: component.id,\n artifacts: this.builder.getArtifacts(component),\n };\n });\n this.filterByOptions(artifactListPerId);\n await this.saveFilesInFileSystemIfAsked(artifactListPerId);\n\n return this.artifactsObjectsToExtractorResults(artifactListPerId);\n }\n\n groupResultsByAspect(extractorResult: ExtractorResult[]) {\n return extractorResult.map((result) => {\n const artifacts = result.artifacts.reduce((acc, current) => {\n (acc[current.aspectId] ||= []).push(current);\n return acc;\n }, {});\n return { id: result.id, artifacts };\n });\n }\n\n private async saveFilesInFileSystemIfAsked(artifactListPerId: ArtifactListPerId[]) {\n const outDir = this.options.outDir;\n if (!outDir) {\n return;\n }\n const scope = this.componentMain.getHost(ScopeAspect.id) as ScopeMain;\n // @todo: optimize this to first import all missing hashes.\n await pMapSeries(artifactListPerId, async ({ id, artifacts }) => {\n const vinyls = await artifacts.getVinylsAndImportIfMissing(id, scope.legacyScope);\n // make sure the component-dir is just one dir. without this, every slash in the component-id will create a new dir.\n const idAsFilename = filenamify(id.toStringWithoutVersion(), { replacement: '_' });\n const compPath = path.join(outDir, idAsFilename);\n await Promise.all(vinyls.map((vinyl) => fs.outputFile(path.join(compPath, vinyl.path), vinyl.contents)));\n });\n }\n\n private artifactsObjectsToExtractorResults(artifactListPerId: ArtifactListPerId[]): ExtractorResult[] {\n return artifactListPerId.map(({ id, artifacts }) => {\n const results: ExtractorArtifactResult[] = artifacts.map((artifact) => {\n return {\n artifactName: artifact.name,\n aspectId: artifact.task.aspectId,\n taskName: artifact.task.name || artifact.generatedBy,\n files: artifact.files.refs.map((ref) => ref.relativePath),\n };\n });\n return {\n id,\n artifacts: results,\n };\n });\n }\n\n private filterByOptions(artifactListPerId: ArtifactListPerId[]) {\n const { aspect, task, files } = this.options;\n let filteredArtifacts: Artifact[] = [];\n\n artifactListPerId.forEach((item) => {\n filteredArtifacts = item.artifacts.filter((artifact) => {\n if (aspect && aspect !== artifact.task.aspectId) return false;\n if (task && task !== artifact.task.name) return false;\n return true;\n });\n if (files) {\n filteredArtifacts = item.artifacts\n .map((artifact) => {\n const refs = artifact.files.refs.filter((ref) => minimatch(ref.relativePath, files));\n return new Artifact(artifact.def, new ArtifactFiles([], [], refs), artifact.task);\n })\n // remove artifacts with no files\n .filter((artifact) => !artifact.isEmpty());\n }\n item.artifacts = ArtifactList.fromArray(filteredArtifacts);\n });\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,YAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,WAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,OAAA;EAAA,MAAAL,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,YAAA;EAAA,MAAAN,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAI,WAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,WAAA;EAAA,MAAAP,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,eAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,cAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,UAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,SAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAwB/B,MAAMG,iBAAiB,CAAC;EAC7BC,WAAWA,CACDC,aAA4B,EAC5BC,OAAoB,EACpBC,OAAe,EACfC,OAAsB,EAC9B;IAAA,KAJQH,aAA4B,GAA5BA,aAA4B;IAAA,KAC5BC,OAAoB,GAApBA,OAAoB;IAAA,KACpBC,OAAe,GAAfA,OAAe;IAAA,KACfC,OAAsB,GAAtBA,OAAsB;EAC7B;EAEH,MAAMC,IAAIA,CAAA,EAA+B;IACvC,MAAMC,IAAI,GAAG,IAAI,CAACL,aAAa,CAACM,OAAO,CAAC,CAAC;IACzC,MAAMC,GAAG,GAAG,MAAMF,IAAI,CAACG,YAAY,CAAC,IAAI,CAACN,OAAO,CAAC;IACjD,MAAMO,UAAU,GAAG,MAAMJ,IAAI,CAACK,OAAO,CAACH,GAAG,CAAC;IAC1C,MAAMI,iBAAsC,GAAGF,UAAU,CAACG,GAAG,CAAEC,SAAS,IAAK;MAC3E,OAAO;QACLC,EAAE,EAAED,SAAS,CAACC,EAAE;QAChBC,SAAS,EAAE,IAAI,CAACd,OAAO,CAACe,YAAY,CAACH,SAAS;MAChD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAACI,eAAe,CAACN,iBAAiB,CAAC;IACvC,MAAM,IAAI,CAACO,4BAA4B,CAACP,iBAAiB,CAAC;IAE1D,OAAO,IAAI,CAACQ,kCAAkC,CAACR,iBAAiB,CAAC;EACnE;EAEAS,oBAAoBA,CAACC,eAAkC,EAAE;IACvD,OAAOA,eAAe,CAACT,GAAG,CAAEU,MAAM,IAAK;MACrC,MAAMP,SAAS,GAAGO,MAAM,CAACP,SAAS,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAK;QAC1D,CAACD,GAAG,CAACC,OAAO,CAACC,QAAQ,CAAC,KAAK,EAAE,EAAEC,IAAI,CAACF,OAAO,CAAC;QAC5C,OAAOD,GAAG;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;MACN,OAAO;QAAEV,EAAE,EAAEQ,MAAM,CAACR,EAAE;QAAEC;MAAU,CAAC;IACrC,CAAC,CAAC;EACJ;EAEA,MAAcG,4BAA4BA,CAACP,iBAAsC,EAAE;IACjF,MAAMiB,MAAM,GAAG,IAAI,CAACzB,OAAO,CAACyB,MAAM;IAClC,IAAI,CAACA,MAAM,EAAE;MACX;IACF;IACA,MAAMC,KAAK,GAAG,IAAI,CAAC7B,aAAa,CAACM,OAAO,CAACwB,gBAAW,CAAChB,EAAE,CAAc;IACrE;IACA,MAAM,IAAAiB,qBAAU,EAACpB,iBAAiB,EAAE,OAAO;MAAEG,EAAE;MAAEC;IAAU,CAAC,KAAK;MAC/D,MAAMiB,MAAM,GAAG,MAAMjB,SAAS,CAACkB,2BAA2B,CAACnB,EAAE,EAAEe,KAAK,CAACK,WAAW,CAAC;MACjF;MACA,MAAMC,YAAY,GAAG,IAAAC,qBAAU,EAACtB,EAAE,CAACuB,sBAAsB,CAAC,CAAC,EAAE;QAAEC,WAAW,EAAE;MAAI,CAAC,CAAC;MAClF,MAAMC,QAAQ,GAAGC,eAAI,CAACC,IAAI,CAACb,MAAM,EAAEO,YAAY,CAAC;MAChD,MAAMO,OAAO,CAACC,GAAG,CAACX,MAAM,CAACpB,GAAG,CAAEgC,KAAK,IAAKC,kBAAE,CAACC,UAAU,CAACN,eAAI,CAACC,IAAI,CAACF,QAAQ,EAAEK,KAAK,CAACJ,IAAI,CAAC,EAAEI,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC,CAAC;EACJ;EAEQ5B,kCAAkCA,CAACR,iBAAsC,EAAqB;IACpG,OAAOA,iBAAiB,CAACC,GAAG,CAAC,CAAC;MAAEE,EAAE;MAAEC;IAAU,CAAC,KAAK;MAClD,MAAMiC,OAAkC,GAAGjC,SAAS,CAACH,GAAG,CAAEqC,QAAQ,IAAK;QACrE,OAAO;UACLC,YAAY,EAAED,QAAQ,CAACE,IAAI;UAC3BzB,QAAQ,EAAEuB,QAAQ,CAACG,IAAI,CAAC1B,QAAQ;UAChC2B,QAAQ,EAAEJ,QAAQ,CAACG,IAAI,CAACD,IAAI,IAAIF,QAAQ,CAACK,WAAW;UACpDC,KAAK,EAAEN,QAAQ,CAACM,KAAK,CAACC,IAAI,CAAC5C,GAAG,CAAE6C,GAAG,IAAKA,GAAG,CAACC,YAAY;QAC1D,CAAC;MACH,CAAC,CAAC;MACF,OAAO;QACL5C,EAAE;QACFC,SAAS,EAAEiC;MACb,CAAC;IACH,CAAC,CAAC;EACJ;EAEQ/B,eAAeA,CAACN,iBAAsC,EAAE;IAC9D,MAAM;MAAEgD,MAAM;MAAEP,IAAI;MAAEG;IAAM,CAAC,GAAG,IAAI,CAACpD,OAAO;IAC5C,IAAIyD,iBAA6B,GAAG,EAAE;IAEtCjD,iBAAiB,CAACkD,OAAO,CAAEC,IAAI,IAAK;MAClCF,iBAAiB,GAAGE,IAAI,CAAC/C,SAAS,CAACgD,MAAM,CAAEd,QAAQ,IAAK;QACtD,IAAIU,MAAM,IAAIA,MAAM,KAAKV,QAAQ,CAACG,IAAI,CAAC1B,QAAQ,EAAE,OAAO,KAAK;QAC7D,IAAI0B,IAAI,IAAIA,IAAI,KAAKH,QAAQ,CAACG,IAAI,CAACD,IAAI,EAAE,OAAO,KAAK;QACrD,OAAO,IAAI;MACb,CAAC,CAAC;MACF,IAAII,KAAK,EAAE;QACTK,iBAAiB,GAAGE,IAAI,CAAC/C,SAAS,CAC/BH,GAAG,CAAEqC,QAAQ,IAAK;UACjB,MAAMO,IAAI,GAAGP,QAAQ,CAACM,KAAK,CAACC,IAAI,CAACO,MAAM,CAAEN,GAAG,IAAK,IAAAO,oBAAS,EAACP,GAAG,CAACC,YAAY,EAAEH,KAAK,CAAC,CAAC;UACpF,OAAO,KAAIU,oBAAQ,EAAChB,QAAQ,CAACiB,GAAG,EAAE,KAAIC,8BAAa,EAAC,EAAE,EAAE,EAAE,EAAEX,IAAI,CAAC,EAAEP,QAAQ,CAACG,IAAI,CAAC;QACnF,CAAC;QACD;QAAA,CACCW,MAAM,CAAEd,QAAQ,IAAK,CAACA,QAAQ,CAACmB,OAAO,CAAC,CAAC,CAAC;MAC9C;MACAN,IAAI,CAAC/C,SAAS,GAAGsD,4BAAY,CAACC,SAAS,CAACV,iBAAiB,CAAC;IAC5D,CAAC,CAAC;EACJ;AACF;AAACW,OAAA,CAAAzE,iBAAA,GAAAA,iBAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component } from '@teambit/component';
|
|
2
2
|
import type { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';
|
|
3
|
-
import {
|
|
3
|
+
import { ComponentID } from '@teambit/component-id';
|
|
4
4
|
import { Scope } from '@teambit/legacy/dist/scope';
|
|
5
5
|
import { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';
|
|
6
6
|
import { Artifact } from './artifact';
|
|
@@ -19,7 +19,7 @@ export declare class ArtifactList<T extends Artifact> extends Array<T> {
|
|
|
19
19
|
groupByTaskId(): {
|
|
20
20
|
[key: string]: T;
|
|
21
21
|
};
|
|
22
|
-
getVinylsAndImportIfMissing(id:
|
|
22
|
+
getVinylsAndImportIfMissing(id: ComponentID, scope: Scope): Promise<ArtifactVinyl[]>;
|
|
23
23
|
/**
|
|
24
24
|
* store all artifacts using the configured storage resolvers.
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_artifact","_storage","obj","__esModule","default","ArtifactList","Array","byAspectNameAndName","aspectName","name","filtered","filter","artifact","cond","task","aspectId","fromArray","byAspectNameAndTaskName","isEmpty","every","files","groupByResolver","resolverMap","forEach","storageResolver","resolverArray","length","push","toObject","map","groupByTaskId","reduce","acc","taskId","getVinylsAndImportIfMissing","id","scope","vinyls","pMapSeries","flat","store","component","byResolvers","promises","Object","keys","key","artifacts","artifactList","artifactPromises","storeArtifact","Promise","all","defaultResolver","DefaultResolver","storeWholeArtifactByResolver","storeArtifactFilesByResolver","results","file","url","relative","storeFile","fromArtifactObjects","artifactObjects","object","Artifact","fromArtifactObject","exports"],"sources":["artifact-list.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport type { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { BitId } from '@teambit/legacy/dist/bit-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { FsArtifact } from './fs-artifact';\nimport { Artifact } from './artifact';\nimport {\n ArtifactStorageResolver,\n FileStorageResolver,\n WholeArtifactStorageResolver,\n DefaultResolver,\n} from '../storage';\n\nexport type ResolverMap<T extends Artifact> = { [key: string]: T[] };\n\nexport class ArtifactList<T extends Artifact> extends Array<T> {\n byAspectNameAndName(aspectName?: string, name?: string): ArtifactList<T> {\n const filtered = this.filter((artifact) => {\n let cond = true;\n if (aspectName) {\n cond = cond && artifact.task.aspectId === aspectName;\n }\n if (name) {\n cond = cond && artifact.name === name;\n }\n return cond;\n });\n return ArtifactList.fromArray(filtered);\n }\n\n byAspectNameAndTaskName(aspectName?: string, name?: string): ArtifactList<T> {\n const filtered = this.filter((artifact) => {\n let cond = true;\n if (aspectName) {\n cond = cond && artifact.task.aspectId === aspectName;\n }\n if (name) {\n cond = cond && artifact.task.name === name;\n }\n return cond;\n });\n return ArtifactList.fromArray(filtered);\n }\n\n isEmpty(): boolean {\n return this.every((artifact) => artifact.files.isEmpty());\n }\n\n /**\n * group artifacts by the storage resolver.\n */\n groupByResolver(): ResolverMap<T> {\n const resolverMap: ResolverMap<T> = {};\n this.forEach((artifact) => {\n const storageResolver = artifact.storageResolver;\n const resolverArray = resolverMap[storageResolver.name];\n if (!resolverArray) {\n resolverMap[storageResolver.name] = [artifact];\n return;\n }\n if (resolverArray.length) {\n resolverMap[storageResolver.name].push(artifact);\n }\n });\n\n return resolverMap;\n }\n\n toObject(): ArtifactObject[] {\n return this.map((artifact) => artifact.toObject());\n }\n\n groupByTaskId() {\n return this.reduce((acc: { [key: string]: T }, artifact) => {\n const taskId = artifact.task.aspectId;\n acc[taskId] = artifact;\n return acc;\n }, {});\n }\n\n async getVinylsAndImportIfMissing(id: BitId, scope: Scope): Promise<ArtifactVinyl[]> {\n if (this.isEmpty()) return [];\n const vinyls = await pMapSeries(this, (artifact) => artifact.files.getVinylsAndImportIfMissing(id, scope));\n return vinyls.flat();\n }\n\n /**\n * store all artifacts using the configured storage resolvers.\n */\n async store(component: Component) {\n const byResolvers = this.groupByResolver();\n const promises = Object.keys(byResolvers).map(async (key) => {\n const artifacts = byResolvers[key];\n if (!artifacts.length) return;\n const storageResolver = artifacts[0].storageResolver;\n const artifactList = ArtifactList.fromArray(artifacts);\n const artifactPromises = artifactList.map(async (artifact) => {\n return this.storeArtifact(storageResolver, artifact, component);\n });\n await Promise.all(artifactPromises);\n });\n\n return Promise.all(promises);\n }\n\n private async storeArtifact(storageResolver: ArtifactStorageResolver, artifact: Artifact, component: Component) {\n // For now we are always storing also using the default resolver\n if (storageResolver.name !== 'default') {\n const defaultResolver = new DefaultResolver();\n await defaultResolver.store(component, artifact as FsArtifact);\n }\n // @ts-ignore\n if (storageResolver.store && typeof storageResolver.store === 'function') {\n return this.storeWholeArtifactByResolver(storageResolver as WholeArtifactStorageResolver, artifact, component);\n }\n return this.storeArtifactFilesByResolver(storageResolver as FileStorageResolver, artifact, component);\n }\n\n /**\n * Send the entire artifact to the resolver then get back the result for all files from the resolver\n * @param storageResolver\n * @param artifact\n * @param component\n */\n private async storeWholeArtifactByResolver(\n storageResolver: WholeArtifactStorageResolver,\n artifact: Artifact,\n component: Component\n ) {\n const results = await storageResolver.store(component, artifact as FsArtifact);\n if (!results) return;\n artifact.files.vinyls.map(async (file) => {\n const url = results[file.relative];\n if (url) {\n file.url = url;\n }\n });\n }\n\n /**\n * Go over the artifact files and send them to the resolver one by one\n * @param storageResolver\n * @param artifact\n * @param component\n */\n private storeArtifactFilesByResolver(storageResolver: FileStorageResolver, artifact: Artifact, component: Component) {\n const promises = artifact.files.vinyls.map(async (file) => {\n const url = await storageResolver.storeFile(component, artifact as FsArtifact, file);\n if (url) {\n file.url = url;\n }\n });\n return Promise.all(promises);\n }\n\n static fromArtifactObjects(artifactObjects: ArtifactObject[]): ArtifactList<Artifact> {\n const artifacts = artifactObjects.map((object) => Artifact.fromArtifactObject(object));\n return ArtifactList.fromArray(artifacts);\n }\n\n static fromArray<T extends Artifact>(artifacts: T[]) {\n return new ArtifactList(...artifacts);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,YAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,WAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAMA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKoB,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIb,MAAMG,YAAY,SAA6BC,KAAK,CAAI;EAC7DC,mBAAmBA,CAACC,UAAmB,EAAEC,IAAa,EAAmB;IACvE,MAAMC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAEC,QAAQ,IAAK;MACzC,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIL,UAAU,EAAE;QACdK,IAAI,GAAGA,IAAI,IAAID,QAAQ,CAACE,IAAI,CAACC,QAAQ,KAAKP,UAAU;MACtD;MACA,IAAIC,IAAI,EAAE;QACRI,IAAI,GAAGA,IAAI,IAAID,QAAQ,CAACH,IAAI,KAAKA,IAAI;MACvC;MACA,OAAOI,IAAI;IACb,CAAC,CAAC;IACF,OAAOR,YAAY,CAACW,SAAS,CAACN,QAAQ,CAAC;EACzC;EAEAO,uBAAuBA,CAACT,UAAmB,EAAEC,IAAa,EAAmB;IAC3E,MAAMC,QAAQ,GAAG,IAAI,CAACC,MAAM,CAAEC,QAAQ,IAAK;MACzC,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIL,UAAU,EAAE;QACdK,IAAI,GAAGA,IAAI,IAAID,QAAQ,CAACE,IAAI,CAACC,QAAQ,KAAKP,UAAU;MACtD;MACA,IAAIC,IAAI,EAAE;QACRI,IAAI,GAAGA,IAAI,IAAID,QAAQ,CAACE,IAAI,CAACL,IAAI,KAAKA,IAAI;MAC5C;MACA,OAAOI,IAAI;IACb,CAAC,CAAC;IACF,OAAOR,YAAY,CAACW,SAAS,CAACN,QAAQ,CAAC;EACzC;EAEAQ,OAAOA,CAAA,EAAY;IACjB,OAAO,IAAI,CAACC,KAAK,CAAEP,QAAQ,IAAKA,QAAQ,CAACQ,KAAK,CAACF,OAAO,CAAC,CAAC,CAAC;EAC3D;;EAEA;AACF;AACA;EACEG,eAAeA,CAAA,EAAmB;IAChC,MAAMC,WAA2B,GAAG,CAAC,CAAC;IACtC,IAAI,CAACC,OAAO,CAAEX,QAAQ,IAAK;MACzB,MAAMY,eAAe,GAAGZ,QAAQ,CAACY,eAAe;MAChD,MAAMC,aAAa,GAAGH,WAAW,CAACE,eAAe,CAACf,IAAI,CAAC;MACvD,IAAI,CAACgB,aAAa,EAAE;QAClBH,WAAW,CAACE,eAAe,CAACf,IAAI,CAAC,GAAG,CAACG,QAAQ,CAAC;QAC9C;MACF;MACA,IAAIa,aAAa,CAACC,MAAM,EAAE;QACxBJ,WAAW,CAACE,eAAe,CAACf,IAAI,CAAC,CAACkB,IAAI,CAACf,QAAQ,CAAC;MAClD;IACF,CAAC,CAAC;IAEF,OAAOU,WAAW;EACpB;EAEAM,QAAQA,CAAA,EAAqB;IAC3B,OAAO,IAAI,CAACC,GAAG,CAAEjB,QAAQ,IAAKA,QAAQ,CAACgB,QAAQ,CAAC,CAAC,CAAC;EACpD;EAEAE,aAAaA,CAAA,EAAG;IACd,OAAO,IAAI,CAACC,MAAM,CAAC,CAACC,GAAyB,EAAEpB,QAAQ,KAAK;MAC1D,MAAMqB,MAAM,GAAGrB,QAAQ,CAACE,IAAI,CAACC,QAAQ;MACrCiB,GAAG,CAACC,MAAM,CAAC,GAAGrB,QAAQ;MACtB,OAAOoB,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EACR;EAEA,MAAME,2BAA2BA,CAACC,EAAS,EAAEC,KAAY,EAA4B;IACnF,IAAI,IAAI,CAAClB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE;IAC7B,MAAMmB,MAAM,GAAG,MAAM,IAAAC,qBAAU,EAAC,IAAI,EAAG1B,QAAQ,IAAKA,QAAQ,CAACQ,KAAK,CAACc,2BAA2B,CAACC,EAAE,EAAEC,KAAK,CAAC,CAAC;IAC1G,OAAOC,MAAM,CAACE,IAAI,CAAC,CAAC;EACtB;;EAEA;AACF;AACA;EACE,MAAMC,KAAKA,CAACC,SAAoB,EAAE;IAChC,MAAMC,WAAW,GAAG,IAAI,CAACrB,eAAe,CAAC,CAAC;IAC1C,MAAMsB,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACH,WAAW,CAAC,CAACb,GAAG,CAAC,MAAOiB,GAAG,IAAK;MAC3D,MAAMC,SAAS,GAAGL,WAAW,CAACI,GAAG,CAAC;MAClC,IAAI,CAACC,SAAS,CAACrB,MAAM,EAAE;MACvB,MAAMF,eAAe,GAAGuB,SAAS,CAAC,CAAC,CAAC,CAACvB,eAAe;MACpD,MAAMwB,YAAY,GAAG3C,YAAY,CAACW,SAAS,CAAC+B,SAAS,CAAC;MACtD,MAAME,gBAAgB,GAAGD,YAAY,CAACnB,GAAG,CAAC,MAAOjB,QAAQ,IAAK;QAC5D,OAAO,IAAI,CAACsC,aAAa,CAAC1B,eAAe,EAAEZ,QAAQ,EAAE6B,SAAS,CAAC;MACjE,CAAC,CAAC;MACF,MAAMU,OAAO,CAACC,GAAG,CAACH,gBAAgB,CAAC;IACrC,CAAC,CAAC;IAEF,OAAOE,OAAO,CAACC,GAAG,CAACT,QAAQ,CAAC;EAC9B;EAEA,MAAcO,aAAaA,CAAC1B,eAAwC,EAAEZ,QAAkB,EAAE6B,SAAoB,EAAE;IAC9G;IACA,IAAIjB,eAAe,CAACf,IAAI,KAAK,SAAS,EAAE;MACtC,MAAM4C,eAAe,GAAG,KAAIC,0BAAe,EAAC,CAAC;MAC7C,MAAMD,eAAe,CAACb,KAAK,CAACC,SAAS,EAAE7B,QAAsB,CAAC;IAChE;IACA;IACA,IAAIY,eAAe,CAACgB,KAAK,IAAI,OAAOhB,eAAe,CAACgB,KAAK,KAAK,UAAU,EAAE;MACxE,OAAO,IAAI,CAACe,4BAA4B,CAAC/B,eAAe,EAAkCZ,QAAQ,EAAE6B,SAAS,CAAC;IAChH;IACA,OAAO,IAAI,CAACe,4BAA4B,CAAChC,eAAe,EAAyBZ,QAAQ,EAAE6B,SAAS,CAAC;EACvG;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcc,4BAA4BA,CACxC/B,eAA6C,EAC7CZ,QAAkB,EAClB6B,SAAoB,EACpB;IACA,MAAMgB,OAAO,GAAG,MAAMjC,eAAe,CAACgB,KAAK,CAACC,SAAS,EAAE7B,QAAsB,CAAC;IAC9E,IAAI,CAAC6C,OAAO,EAAE;IACd7C,QAAQ,CAACQ,KAAK,CAACiB,MAAM,CAACR,GAAG,CAAC,MAAO6B,IAAI,IAAK;MACxC,MAAMC,GAAG,GAAGF,OAAO,CAACC,IAAI,CAACE,QAAQ,CAAC;MAClC,IAAID,GAAG,EAAE;QACPD,IAAI,CAACC,GAAG,GAAGA,GAAG;MAChB;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;EACUH,4BAA4BA,CAAChC,eAAoC,EAAEZ,QAAkB,EAAE6B,SAAoB,EAAE;IACnH,MAAME,QAAQ,GAAG/B,QAAQ,CAACQ,KAAK,CAACiB,MAAM,CAACR,GAAG,CAAC,MAAO6B,IAAI,IAAK;MACzD,MAAMC,GAAG,GAAG,MAAMnC,eAAe,CAACqC,SAAS,CAACpB,SAAS,EAAE7B,QAAQ,EAAgB8C,IAAI,CAAC;MACpF,IAAIC,GAAG,EAAE;QACPD,IAAI,CAACC,GAAG,GAAGA,GAAG;MAChB;IACF,CAAC,CAAC;IACF,OAAOR,OAAO,CAACC,GAAG,CAACT,QAAQ,CAAC;EAC9B;EAEA,OAAOmB,mBAAmBA,CAACC,eAAiC,EAA0B;IACpF,MAAMhB,SAAS,GAAGgB,eAAe,CAAClC,GAAG,CAAEmC,MAAM,IAAKC,oBAAQ,CAACC,kBAAkB,CAACF,MAAM,CAAC,CAAC;IACtF,OAAO3D,YAAY,CAACW,SAAS,CAAC+B,SAAS,CAAC;EAC1C;EAEA,OAAO/B,SAASA,CAAqB+B,SAAc,EAAE;IACnD,OAAO,IAAI1C,YAAY,CAAC,GAAG0C,SAAS,CAAC;EACvC;AACF;AAACoB,OAAA,CAAA9D,YAAA,GAAAA,YAAA"}
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_artifact","_storage","obj","__esModule","default","ArtifactList","Array","byAspectNameAndName","aspectName","name","filtered","filter","artifact","cond","task","aspectId","fromArray","byAspectNameAndTaskName","isEmpty","every","files","groupByResolver","resolverMap","forEach","storageResolver","resolverArray","length","push","toObject","map","groupByTaskId","reduce","acc","taskId","getVinylsAndImportIfMissing","id","scope","vinyls","pMapSeries","flat","store","component","byResolvers","promises","Object","keys","key","artifacts","artifactList","artifactPromises","storeArtifact","Promise","all","defaultResolver","DefaultResolver","storeWholeArtifactByResolver","storeArtifactFilesByResolver","results","file","url","relative","storeFile","fromArtifactObjects","artifactObjects","object","Artifact","fromArtifactObject","exports"],"sources":["artifact-list.ts"],"sourcesContent":["import { Component } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport type { ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { ComponentID } from '@teambit/component-id';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { FsArtifact } from './fs-artifact';\nimport { Artifact } from './artifact';\nimport {\n ArtifactStorageResolver,\n FileStorageResolver,\n WholeArtifactStorageResolver,\n DefaultResolver,\n} from '../storage';\n\nexport type ResolverMap<T extends Artifact> = { [key: string]: T[] };\n\nexport class ArtifactList<T extends Artifact> extends Array<T> {\n byAspectNameAndName(aspectName?: string, name?: string): ArtifactList<T> {\n const filtered = this.filter((artifact) => {\n let cond = true;\n if (aspectName) {\n cond = cond && artifact.task.aspectId === aspectName;\n }\n if (name) {\n cond = cond && artifact.name === name;\n }\n return cond;\n });\n return ArtifactList.fromArray(filtered);\n }\n\n byAspectNameAndTaskName(aspectName?: string, name?: string): ArtifactList<T> {\n const filtered = this.filter((artifact) => {\n let cond = true;\n if (aspectName) {\n cond = cond && artifact.task.aspectId === aspectName;\n }\n if (name) {\n cond = cond && artifact.task.name === name;\n }\n return cond;\n });\n return ArtifactList.fromArray(filtered);\n }\n\n isEmpty(): boolean {\n return this.every((artifact) => artifact.files.isEmpty());\n }\n\n /**\n * group artifacts by the storage resolver.\n */\n groupByResolver(): ResolverMap<T> {\n const resolverMap: ResolverMap<T> = {};\n this.forEach((artifact) => {\n const storageResolver = artifact.storageResolver;\n const resolverArray = resolverMap[storageResolver.name];\n if (!resolverArray) {\n resolverMap[storageResolver.name] = [artifact];\n return;\n }\n if (resolverArray.length) {\n resolverMap[storageResolver.name].push(artifact);\n }\n });\n\n return resolverMap;\n }\n\n toObject(): ArtifactObject[] {\n return this.map((artifact) => artifact.toObject());\n }\n\n groupByTaskId() {\n return this.reduce((acc: { [key: string]: T }, artifact) => {\n const taskId = artifact.task.aspectId;\n acc[taskId] = artifact;\n return acc;\n }, {});\n }\n\n async getVinylsAndImportIfMissing(id: ComponentID, scope: Scope): Promise<ArtifactVinyl[]> {\n if (this.isEmpty()) return [];\n const vinyls = await pMapSeries(this, (artifact) => artifact.files.getVinylsAndImportIfMissing(id, scope));\n return vinyls.flat();\n }\n\n /**\n * store all artifacts using the configured storage resolvers.\n */\n async store(component: Component) {\n const byResolvers = this.groupByResolver();\n const promises = Object.keys(byResolvers).map(async (key) => {\n const artifacts = byResolvers[key];\n if (!artifacts.length) return;\n const storageResolver = artifacts[0].storageResolver;\n const artifactList = ArtifactList.fromArray(artifacts);\n const artifactPromises = artifactList.map(async (artifact) => {\n return this.storeArtifact(storageResolver, artifact, component);\n });\n await Promise.all(artifactPromises);\n });\n\n return Promise.all(promises);\n }\n\n private async storeArtifact(storageResolver: ArtifactStorageResolver, artifact: Artifact, component: Component) {\n // For now we are always storing also using the default resolver\n if (storageResolver.name !== 'default') {\n const defaultResolver = new DefaultResolver();\n await defaultResolver.store(component, artifact as FsArtifact);\n }\n // @ts-ignore\n if (storageResolver.store && typeof storageResolver.store === 'function') {\n return this.storeWholeArtifactByResolver(storageResolver as WholeArtifactStorageResolver, artifact, component);\n }\n return this.storeArtifactFilesByResolver(storageResolver as FileStorageResolver, artifact, component);\n }\n\n /**\n * Send the entire artifact to the resolver then get back the result for all files from the resolver\n * @param storageResolver\n * @param artifact\n * @param component\n */\n private async storeWholeArtifactByResolver(\n storageResolver: WholeArtifactStorageResolver,\n artifact: Artifact,\n component: Component\n ) {\n const results = await storageResolver.store(component, artifact as FsArtifact);\n if (!results) return;\n artifact.files.vinyls.map(async (file) => {\n const url = results[file.relative];\n if (url) {\n file.url = url;\n }\n });\n }\n\n /**\n * Go over the artifact files and send them to the resolver one by one\n * @param storageResolver\n * @param artifact\n * @param component\n */\n private storeArtifactFilesByResolver(storageResolver: FileStorageResolver, artifact: Artifact, component: Component) {\n const promises = artifact.files.vinyls.map(async (file) => {\n const url = await storageResolver.storeFile(component, artifact as FsArtifact, file);\n if (url) {\n file.url = url;\n }\n });\n return Promise.all(promises);\n }\n\n static fromArtifactObjects(artifactObjects: ArtifactObject[]): ArtifactList<Artifact> {\n const artifacts = artifactObjects.map((object) => Artifact.fromArtifactObject(object));\n return ArtifactList.fromArray(artifacts);\n }\n\n static fromArray<T extends Artifact>(artifacts: T[]) {\n return new ArtifactList(...artifacts);\n }\n}\n"],"mappings":"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"}
|
|
@@ -361,17 +361,17 @@ class BuilderMain {
|
|
|
361
361
|
// TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props
|
|
362
362
|
async getArtifactsVinylByAspect(component, aspectName) {
|
|
363
363
|
const artifacts = this.getArtifactsByAspect(component, aspectName);
|
|
364
|
-
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id
|
|
364
|
+
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);
|
|
365
365
|
return vinyls;
|
|
366
366
|
}
|
|
367
367
|
async getArtifactsVinylByAspectAndName(component, aspectName, name) {
|
|
368
368
|
const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);
|
|
369
|
-
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id
|
|
369
|
+
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);
|
|
370
370
|
return vinyls;
|
|
371
371
|
}
|
|
372
372
|
async getArtifactsVinylByAspectAndTaskName(component, aspectName, name) {
|
|
373
373
|
const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);
|
|
374
|
-
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id
|
|
374
|
+
const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);
|
|
375
375
|
return vinyls;
|
|
376
376
|
}
|
|
377
377
|
getArtifactsByName(component, name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_artifactFiles","_aspectLoader","_cli","_component","_envs","_graphql","_harmony","_globalConfig","_interopRequireDefault","_logger","_aspect","_scope","_workspace","_isolator","_bootstrap","_findDuplications","_generator","_ui","_artifact","_artifactFactory","_builder","_builder2","_builder3","_build","_buildTask","_exceptions","_buildPipelineResultList","_artifacts","_buildTask2","_builder4","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","logger","storeArtifacts","tasksResults","artifacts","flatMap","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","throwErrorsIfExist","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","_legacy","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","_this$getBuilderData","_this$getBuilderData2","ArtifactList","fromArray","_component$get","_clonedData$artifacts","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","consoleTitle","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","ui","config","artifactFactory","ArtifactFactory","createLogger","BuilderService","registerService","builder","BundleUiTask","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","UIAspect","GlobalConfigAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { UIAspect, UiMain, BundleUiTask } from '@teambit/ui';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { TaskMetadata } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private globalConfig: GlobalConfigMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot,\n private logger: Logger\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {},\n builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: populateArtifactsFrom ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id._legacy, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n /**\n * this is the aspect's data that was generated as \"metadata\" of the task component-result during the build process\n * and saved by the builder aspect in the \"aspectsData\" property.\n * (not to be confused with the data saved in the aspect itself, which is saved in the \"data\" property of the aspect).\n */\n getDataByAspect(component: IComponent, aspectName: string): TaskMetadata | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n this.logger.consoleTitle(`Total ${components.length} components to build`);\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n UIAspect,\n GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope,\n globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n globalConfig,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot,\n logger\n );\n builder.registerBuildTasks([new BundleUiTask(ui, logger)]);\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_artifactFiles","_aspectLoader","_cli","_component","_envs","_graphql","_harmony","_globalConfig","_interopRequireDefault","_logger","_aspect","_scope","_workspace","_isolator","_bootstrap","_findDuplications","_generator","_ui","_artifact","_artifactFactory","_builder","_builder2","_builder3","_build","_buildTask","_exceptions","_buildPipelineResultList","_artifacts","_buildTask2","_builder4","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","FILE_PATH_PARAM_DELIM","exports","BuilderMain","constructor","envs","workspace","buildService","tagService","snapService","scope","isolator","aspectLoader","componentAspect","globalConfig","buildTaskSlot","tagTaskSlot","snapTaskSlot","logger","storeArtifacts","tasksResults","artifacts","flatMap","storeP","map","artifactMap","Promise","all","toArray","component","artifactList","store","err","ArtifactStorageError","pipelineResultsToBuilderData","components","buildPipelineResults","buildPipelineResultList","BuildPipelineResultList","ComponentMap","as","aspectsData","getDataOfComponent","id","pipelineReport","getPipelineReportOfComponent","getArtifactsDataOfComponent","pipeline","bitVersion","getHarmonyVersion","tagListener","options","isolateOptions","builderOptions","pipeResults","allTasksResults","throwOnError","forceDeploy","disableTagAndSnapPipelines","isSnap","populateArtifactsFrom","buildEnvsExecutionResults","build","emptyRootDir","tasks","AspectAspect","throwErrorsIfExist","hasErrors","builderOptionsForTagSnap","seedersOnly","previousTasksResults","deployEnvsExecutionResults","runSnapTasks","runTagTasks","builderDataMap","combineBuildDataFrom","validateBuilderDataMap","buildData","taskSerializedIds","BuildTaskHelper","serializeId","aspectId","taskId","name","taskName","duplications","findDuplications","Error","toString","join","promises","builderData","populateFrom","find","isEqual","ignoreVersion","idStr","populateFromComp","getHost","get","version","populateFromBuilderData","getBuilderData","artifact","artifactObj","toObject","a","task","aspectData","p","flattenValue","getArtifactsVinylByAspect","aspectName","getArtifactsByAspect","vinyls","getVinylsAndImportIfMissing","legacyScope","getArtifactsVinylByAspectAndName","getArtifactsByAspectAndName","getArtifactsVinylByAspectAndTaskName","getArtifactsbyAspectAndTaskName","getArtifactsByName","getArtifacts","byAspectNameAndName","byAspectNameAndTaskName","getDataByAspect","_this$getBuilderData","_this$getBuilderData2","ArtifactList","fromArray","_component$get","_clonedData$artifacts","BuilderAspect","clonedData","cloneDeep","artifactFiles","files","ArtifactFiles","fromObject","Artifact","assign","fromArtifactObject","ids","c","capsulesBaseDir","getComponentsCapsulesBaseDir","baseIsolateOpts","baseDir","useHash","mergedIsolateOpts","network","isolateComponents","createEnvironment","graphCapsules","getAllComponents","builderServiceOptions","originalSeeders","consoleTitle","buildResult","runOnce","listTasks","compEnv","getEnv","buildTasks","getCurrentPipeTasks","tagTasks","snapTasks","envId","registerBuildTasks","register","registerDeployTasks","registerTagTasks","registerSnapTasks","getDownloadUrlForArtifact","componentId","path","provider","cli","loggerExt","graphql","generator","ui","config","artifactFactory","ArtifactFactory","createLogger","BuilderService","registerService","builder","BundleUiTask","registerRoute","BuilderRoute","builderSchema","registerComponentTemplate","buildTaskTemplate","commands","BuilderCmd","ArtifactsCmd","Slot","withType","MainRuntime","CLIAspect","EnvsAspect","WorkspaceAspect","ScopeAspect","IsolatorAspect","LoggerAspect","AspectLoaderAspect","GraphqlAspect","GeneratorAspect","ComponentAspect","UIAspect","GlobalConfigAspect","addRuntime"],"sources":["builder.main.runtime.ts"],"sourcesContent":["import { cloneDeep } from 'lodash';\nimport { ArtifactVinyl } from '@teambit/legacy/dist/consumer/component/sources/artifact';\nimport { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Component, ComponentMap, IComponent, ComponentAspect, ComponentMain, ComponentID } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport AspectAspect from '@teambit/aspect';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { IsolateComponentsOptions, IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { getHarmonyVersion } from '@teambit/legacy/dist/bootstrap';\nimport findDuplications from '@teambit/legacy/dist/utils/array/find-duplications';\nimport { GeneratorAspect, GeneratorMain } from '@teambit/generator';\nimport { UIAspect, UiMain, BundleUiTask } from '@teambit/ui';\nimport { Artifact, ArtifactList, FsArtifact } from './artifact';\nimport { ArtifactFactory } from './artifact/artifact-factory'; // it gets undefined when importing it from './artifact'\nimport { BuilderAspect } from './builder.aspect';\nimport { builderSchema } from './builder.graphql';\nimport { BuilderService, BuilderServiceOptions } from './builder.service';\nimport { BuilderCmd } from './build.cmd';\nimport { BuildTask, BuildTaskHelper } from './build-task';\nimport { TaskResults } from './build-pipe';\nimport { TaskResultsList } from './task-results-list';\nimport { ArtifactStorageError } from './exceptions';\nimport { BuildPipelineResultList, AspectData, PipelineReport } from './build-pipeline-result-list';\nimport { TaskMetadata } from './types';\nimport { ArtifactsCmd } from './artifact/artifacts.cmd';\nimport { buildTaskTemplate } from './templates/build-task';\nimport { BuilderRoute } from './builder.route';\n\nexport type TaskSlot = SlotRegistry<BuildTask[]>;\nexport type OnTagResults = { builderDataMap: ComponentMap<RawBuilderData>; pipeResults: TaskResultsList[] };\nexport type OnTagOpts = {\n disableTagAndSnapPipelines?: boolean;\n throwOnError?: boolean; // on the CI it helps to save the results on failure so this is set to false\n forceDeploy?: boolean; // whether run the deploy-pipeline although the build-pipeline has failed\n populateArtifactsFrom?: ComponentID[]; // helpful for tagging from scope where we want to use the build-artifacts of previous snap.\n isSnap?: boolean;\n};\nexport const FILE_PATH_PARAM_DELIM = '~';\n\n/**\n * builder data format for the bit object store\n */\nexport type RawBuilderData = {\n pipeline: PipelineReport[];\n artifacts?: ArtifactObject[];\n aspectsData: AspectData[];\n bitVersion?: string;\n};\n/**\n * builder data mapped to an ArtifactList instance\n */\nexport type BuilderData = Omit<RawBuilderData, 'artifacts'> & {\n artifacts: ArtifactList<Artifact>;\n};\n\nexport class BuilderMain {\n constructor(\n private envs: EnvsMain,\n private workspace: Workspace,\n private buildService: BuilderService,\n private tagService: BuilderService,\n private snapService: BuilderService,\n private scope: ScopeMain,\n private isolator: IsolatorMain,\n private aspectLoader: AspectLoaderMain,\n private componentAspect: ComponentMain,\n private globalConfig: GlobalConfigMain,\n private buildTaskSlot: TaskSlot,\n private tagTaskSlot: TaskSlot,\n private snapTaskSlot: TaskSlot,\n private logger: Logger\n ) {}\n\n private async storeArtifacts(tasksResults: TaskResults[]) {\n const artifacts = tasksResults.flatMap((t) => (t.artifacts ? [t.artifacts] : []));\n const storeP = artifacts.map(async (artifactMap: ComponentMap<ArtifactList<FsArtifact>>) => {\n return Promise.all(\n artifactMap.toArray().map(async ([component, artifactList]) => {\n try {\n return await artifactList.store(component);\n } catch (err: any) {\n throw new ArtifactStorageError(err, component);\n }\n })\n );\n });\n await Promise.all(storeP);\n }\n\n private pipelineResultsToBuilderData(\n components: Component[],\n buildPipelineResults: TaskResults[]\n ): ComponentMap<RawBuilderData> {\n const buildPipelineResultList = new BuildPipelineResultList(buildPipelineResults, components);\n return ComponentMap.as<RawBuilderData>(components, (component) => {\n const aspectsData = buildPipelineResultList.getDataOfComponent(component.id);\n const pipelineReport = buildPipelineResultList.getPipelineReportOfComponent(component.id);\n const artifacts = buildPipelineResultList.getArtifactsDataOfComponent(component.id);\n return { pipeline: pipelineReport, artifacts, aspectsData, bitVersion: getHarmonyVersion(true) };\n });\n }\n\n async tagListener(\n components: Component[],\n options: OnTagOpts = {},\n isolateOptions: IsolateComponentsOptions = {},\n builderOptions: BuilderServiceOptions = {}\n ): Promise<OnTagResults> {\n const pipeResults: TaskResultsList[] = [];\n const allTasksResults: TaskResults[] = [];\n const { throwOnError, forceDeploy, disableTagAndSnapPipelines, isSnap, populateArtifactsFrom } = options;\n if (populateArtifactsFrom) isolateOptions.populateArtifactsFrom = populateArtifactsFrom;\n const buildEnvsExecutionResults = await this.build(\n components,\n { emptyRootDir: true, ...isolateOptions },\n {\n ...builderOptions,\n // even when build is skipped (in case of tag-from-scope), the pre-build/post-build and teambit.harmony/aspect tasks are needed\n tasks: populateArtifactsFrom ? [AspectAspect.id] : undefined,\n }\n );\n if (throwOnError && !forceDeploy) buildEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...buildEnvsExecutionResults.tasksResults);\n pipeResults.push(buildEnvsExecutionResults);\n\n if (forceDeploy || (!disableTagAndSnapPipelines && !buildEnvsExecutionResults?.hasErrors())) {\n const builderOptionsForTagSnap: BuilderServiceOptions = {\n ...builderOptions,\n seedersOnly: isolateOptions.seedersOnly,\n previousTasksResults: buildEnvsExecutionResults?.tasksResults,\n };\n const deployEnvsExecutionResults = isSnap\n ? await this.runSnapTasks(components, builderOptionsForTagSnap)\n : await this.runTagTasks(components, builderOptionsForTagSnap);\n if (throwOnError && !forceDeploy) deployEnvsExecutionResults.throwErrorsIfExist();\n allTasksResults.push(...deployEnvsExecutionResults.tasksResults);\n pipeResults.push(deployEnvsExecutionResults);\n }\n await this.storeArtifacts(allTasksResults);\n const builderDataMap = this.pipelineResultsToBuilderData(components, allTasksResults);\n if (populateArtifactsFrom) await this.combineBuildDataFrom(builderDataMap, populateArtifactsFrom);\n this.validateBuilderDataMap(builderDataMap);\n\n return { builderDataMap, pipeResults };\n }\n\n private validateBuilderDataMap(builderDataMap: ComponentMap<RawBuilderData>) {\n builderDataMap.forEach((buildData: RawBuilderData, component) => {\n const taskSerializedIds = buildData.pipeline.map((t) =>\n BuildTaskHelper.serializeId({ aspectId: t.taskId, name: t.taskName })\n );\n const duplications = findDuplications(taskSerializedIds);\n if (duplications.length) {\n throw new Error(\n `build-task-results validation has failed. the following task(s) of \"${component.id.toString()}\" are duplicated: ${duplications.join(\n ', '\n )}`\n );\n }\n });\n }\n\n private async combineBuildDataFrom(\n builderDataMap: ComponentMap<RawBuilderData>,\n populateArtifactsFrom: ComponentID[]\n ) {\n const promises = builderDataMap.map(async (builderData, component) => {\n const populateFrom = populateArtifactsFrom.find((id) => id.isEqual(component.id, { ignoreVersion: true }));\n const idStr = component.id.toString();\n if (!populateFrom) {\n throw new Error(`combineBuildDataFromParent: unable to find where to populate the artifacts from for ${idStr}`);\n }\n const populateFromComp = await this.componentAspect.getHost().get(populateFrom);\n if (!populateFromComp)\n throw new Error(\n `combineBuildDataFromParent, unable to load parent component of ${idStr}. hash: ${populateFrom.version}`\n );\n const populateFromBuilderData = this.getBuilderData(populateFromComp);\n if (!populateFromBuilderData) throw new Error(`parent of ${idStr} was not built yet. unable to continue`);\n populateFromBuilderData.artifacts.forEach((artifact) => {\n const artifactObj = artifact.toObject();\n if (!builderData.artifacts) builderData.artifacts = [];\n if (\n builderData.artifacts.find((a) => a.task.id === artifactObj.task.id && a.task.name === artifactObj.task.name)\n ) {\n return;\n }\n builderData.artifacts.push(artifactObj);\n });\n populateFromBuilderData.aspectsData.forEach((aspectData) => {\n if (builderData.aspectsData.find((a) => a.aspectId === aspectData.aspectId)) return;\n builderData.aspectsData.push(aspectData);\n });\n populateFromBuilderData.pipeline.forEach((pipeline) => {\n if (builderData.pipeline.find((p) => p.taskId === pipeline.taskId && p.taskName === pipeline.taskName)) return;\n builderData.pipeline.push(pipeline);\n });\n });\n\n await Promise.all(promises.flattenValue());\n }\n\n // TODO: merge with getArtifactsVinylByExtensionAndName by getting aspect name and name as object with optional props\n async getArtifactsVinylByAspect(component: Component, aspectName: string): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspect(component, aspectName);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsByAspectAndName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);\n return vinyls;\n }\n\n async getArtifactsVinylByAspectAndTaskName(\n component: Component,\n aspectName: string,\n name: string\n ): Promise<ArtifactVinyl[]> {\n const artifacts = this.getArtifactsbyAspectAndTaskName(component, aspectName, name);\n const vinyls = await artifacts.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);\n return vinyls;\n }\n\n getArtifactsByName(component: Component, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(undefined, name);\n return artifacts;\n }\n\n getArtifactsByAspect(component: Component, aspectName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName);\n return artifacts;\n }\n\n getArtifactsByAspectAndName(component: Component, aspectName: string, name: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndName(aspectName, name);\n return artifacts;\n }\n\n getArtifactsbyAspectAndTaskName(component: IComponent, aspectName: string, taskName: string): ArtifactList<Artifact> {\n const artifacts = this.getArtifacts(component).byAspectNameAndTaskName(aspectName, taskName);\n return artifacts;\n }\n\n /**\n * this is the aspect's data that was generated as \"metadata\" of the task component-result during the build process\n * and saved by the builder aspect in the \"aspectsData\" property.\n * (not to be confused with the data saved in the aspect itself, which is saved in the \"data\" property of the aspect).\n */\n getDataByAspect(component: IComponent, aspectName: string): TaskMetadata | undefined {\n const aspectsData = this.getBuilderData(component)?.aspectsData;\n const data = aspectsData?.find((aspectData) => aspectData.aspectId === aspectName);\n return data?.data;\n }\n\n getArtifacts(component: IComponent): ArtifactList<Artifact> {\n const artifacts = this.getBuilderData(component)?.artifacts || ArtifactList.fromArray([]);\n return artifacts;\n }\n\n getBuilderData(component: IComponent): BuilderData | undefined {\n const data = component.get(BuilderAspect.id)?.data;\n if (!data) return undefined;\n const clonedData = cloneDeep(data) as BuilderData;\n let artifactFiles: ArtifactFiles;\n const artifacts = clonedData.artifacts?.map((artifact) => {\n if (!(artifact.files instanceof ArtifactFiles)) {\n artifactFiles = ArtifactFiles.fromObject(artifact.files);\n } else {\n artifactFiles = artifact.files;\n }\n if (artifact instanceof Artifact) {\n return artifact;\n }\n Object.assign(artifact, { files: artifactFiles });\n return Artifact.fromArtifactObject(artifact);\n });\n clonedData.artifacts = ArtifactList.fromArray(artifacts || []);\n return clonedData;\n }\n\n async build(\n components: Component[],\n isolateOptions?: IsolateComponentsOptions,\n builderOptions?: BuilderServiceOptions\n ): Promise<TaskResultsList> {\n const ids = components.map((c) => c.id);\n const capsulesBaseDir = this.buildService.getComponentsCapsulesBaseDir();\n const baseIsolateOpts = {\n baseDir: capsulesBaseDir,\n useHash: !capsulesBaseDir,\n };\n const mergedIsolateOpts = {\n ...baseIsolateOpts,\n ...isolateOptions,\n };\n\n const network = await this.isolator.isolateComponents(ids, mergedIsolateOpts, this.scope.legacyScope);\n const envs = await this.envs.createEnvironment(network.graphCapsules.getAllComponents());\n const builderServiceOptions = {\n seedersOnly: isolateOptions?.seedersOnly,\n originalSeeders: ids,\n capsulesBaseDir,\n ...(builderOptions || {}),\n };\n this.logger.consoleTitle(`Total ${components.length} components to build`);\n const buildResult = await envs.runOnce(this.buildService, builderServiceOptions);\n return buildResult;\n }\n\n async runTagTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.tagService, builderOptions);\n\n return buildResult;\n }\n\n async runSnapTasks(components: Component[], builderOptions: BuilderServiceOptions): Promise<TaskResultsList> {\n const envs = await this.envs.createEnvironment(components);\n const buildResult = await envs.runOnce(this.snapService, builderOptions);\n\n return buildResult;\n }\n\n listTasks(component: Component) {\n const compEnv = this.envs.getEnv(component);\n const buildTasks = this.buildService.getCurrentPipeTasks(compEnv);\n const tagTasks = this.tagService.getCurrentPipeTasks(compEnv);\n const snapTasks = this.snapService.getCurrentPipeTasks(compEnv);\n return { id: component.id, envId: compEnv.id, buildTasks, tagTasks, snapTasks };\n }\n\n /**\n * register a build task to apply on all component build pipelines.\n * build happens on `bit build` and as part of `bit tag --persist`.\n */\n registerBuildTasks(tasks: BuildTask[]) {\n this.buildTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * @deprecated use registerTagTasks or registerSnapTasks\n */\n registerDeployTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit tag'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerTagTasks(tasks: BuildTask[]) {\n this.tagTaskSlot.register(tasks);\n return this;\n }\n\n /**\n * tag tasks that don't get executed on `bit build`, only on `bit snap'.\n * this pipeline is running once the build-pipeline has completed.\n */\n registerSnapTasks(tasks: BuildTask[]) {\n this.snapTaskSlot.register(tasks);\n return this;\n }\n\n getDownloadUrlForArtifact(componentId: ComponentID, taskId: string, path?: string) {\n return `/api/${componentId}/~aspect/builder/${taskId}/${path ? `${FILE_PATH_PARAM_DELIM}${path}` : ''}`;\n }\n\n static slots = [Slot.withType<BuildTask>(), Slot.withType<BuildTask>(), Slot.withType<BuildTask>()];\n\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n EnvsAspect,\n WorkspaceAspect,\n ScopeAspect,\n IsolatorAspect,\n LoggerAspect,\n AspectLoaderAspect,\n GraphqlAspect,\n GeneratorAspect,\n ComponentAspect,\n UIAspect,\n GlobalConfigAspect,\n ];\n\n static async provider(\n [cli, envs, workspace, scope, isolator, loggerExt, aspectLoader, graphql, generator, component, ui, globalConfig]: [\n CLIMain,\n EnvsMain,\n Workspace,\n ScopeMain,\n IsolatorMain,\n LoggerMain,\n AspectLoaderMain,\n GraphqlMain,\n GeneratorMain,\n ComponentMain,\n UiMain,\n GlobalConfigMain\n ],\n config,\n [buildTaskSlot, tagTaskSlot, snapTaskSlot]: [TaskSlot, TaskSlot, TaskSlot]\n ) {\n const artifactFactory = new ArtifactFactory();\n const logger = loggerExt.createLogger(BuilderAspect.id);\n const buildService = new BuilderService(\n isolator,\n logger,\n buildTaskSlot,\n 'getBuildPipe',\n 'build',\n artifactFactory,\n scope,\n globalConfig\n );\n envs.registerService(buildService);\n const tagService = new BuilderService(\n isolator,\n logger,\n tagTaskSlot,\n 'getTagPipe',\n 'tag',\n artifactFactory,\n scope,\n globalConfig\n );\n const snapService = new BuilderService(\n isolator,\n logger,\n snapTaskSlot,\n 'getSnapPipe',\n 'snap',\n artifactFactory,\n scope,\n globalConfig\n );\n const builder = new BuilderMain(\n envs,\n workspace,\n buildService,\n tagService,\n snapService,\n scope,\n isolator,\n aspectLoader,\n component,\n globalConfig,\n buildTaskSlot,\n tagTaskSlot,\n snapTaskSlot,\n logger\n );\n builder.registerBuildTasks([new BundleUiTask(ui, logger)]);\n component.registerRoute([new BuilderRoute(builder, scope, logger)]);\n graphql.register(builderSchema(builder, logger));\n if (generator) generator.registerComponentTemplate([buildTaskTemplate]);\n const commands = [new BuilderCmd(builder, workspace, logger), new ArtifactsCmd(builder, component)];\n cli.register(...commands);\n\n return builder;\n }\n}\n\nBuilderAspect.addRuntime(BuilderMain);\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,cAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,KAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,IAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,WAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,UAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,MAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,KAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,cAAA;EAAA,MAAAT,IAAA,GAAAU,sBAAA,CAAAT,OAAA;EAAAQ,aAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,QAAA;EAAA,MAAAX,IAAA,GAAAC,OAAA;EAAAU,OAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,QAAA;EAAA,MAAAZ,IAAA,GAAAU,sBAAA,CAAAT,OAAA;EAAAW,OAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAa,OAAA;EAAA,MAAAb,IAAA,GAAAC,OAAA;EAAAY,MAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,WAAA;EAAA,MAAAd,IAAA,GAAAC,OAAA;EAAAa,UAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAe,UAAA;EAAA,MAAAf,IAAA,GAAAC,OAAA;EAAAc,SAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,WAAA;EAAA,MAAAhB,IAAA,GAAAC,OAAA;EAAAe,UAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAU,sBAAA,CAAAT,OAAA;EAAAgB,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,WAAA;EAAA,MAAAlB,IAAA,GAAAC,OAAA;EAAAiB,UAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,IAAA;EAAA,MAAAnB,IAAA,GAAAC,OAAA;EAAAkB,GAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAoB,UAAA;EAAA,MAAApB,IAAA,GAAAC,OAAA;EAAAmB,SAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,iBAAA;EAAA,MAAArB,IAAA,GAAAC,OAAA;EAAAoB,gBAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,SAAA;EAAA,MAAAtB,IAAA,GAAAC,OAAA;EAAAqB,QAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,UAAA;EAAA,MAAAvB,IAAA,GAAAC,OAAA;EAAAsB,SAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAwB,UAAA;EAAA,MAAAxB,IAAA,GAAAC,OAAA;EAAAuB,SAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAyB,OAAA;EAAA,MAAAzB,IAAA,GAAAC,OAAA;EAAAwB,MAAA,YAAAA,CAAA;IAAA,OAAAzB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA0B,WAAA;EAAA,MAAA1B,IAAA,GAAAC,OAAA;EAAAyB,UAAA,YAAAA,CAAA;IAAA,OAAA1B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAA2B,YAAA;EAAA,MAAA3B,IAAA,GAAAC,OAAA;EAAA0B,WAAA,YAAAA,CAAA;IAAA,OAAA3B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA4B,yBAAA;EAAA,MAAA5B,IAAA,GAAAC,OAAA;EAAA2B,wBAAA,YAAAA,CAAA;IAAA,OAAA5B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAA6B,WAAA;EAAA,MAAA7B,IAAA,GAAAC,OAAA;EAAA4B,UAAA,YAAAA,CAAA;IAAA,OAAA7B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA8B,YAAA;EAAA,MAAA9B,IAAA,GAAAC,OAAA;EAAA6B,WAAA,YAAAA,CAAA;IAAA,OAAA9B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAA+B,UAAA;EAAA,MAAA/B,IAAA,GAAAC,OAAA;EAAA8B,SAAA,YAAAA,CAAA;IAAA,OAAA/B,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA+C,SAAAU,uBAAAsB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAApB,GAAA,EAAAwB,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAxB,GAAA,IAAAO,MAAA,CAAAgB,cAAA,CAAAvB,GAAA,EAAAwB,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAZ,UAAA,QAAAc,YAAA,QAAAC,QAAA,oBAAA5B,GAAA,CAAAwB,GAAA,IAAAC,KAAA,WAAAzB,GAAA;AAAA,SAAA0B,eAAAG,GAAA,QAAAL,GAAA,GAAAM,YAAA,CAAAD,GAAA,2BAAAL,GAAA,gBAAAA,GAAA,GAAAO,MAAA,CAAAP,GAAA;AAAA,SAAAM,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA,KAbgB;AAwBxD,MAAMU,qBAAqB,GAAG,GAAG;;AAExC;AACA;AACA;;AAOA;AACA;AACA;AAFAC,OAAA,CAAAD,qBAAA,GAAAA,qBAAA;AAOO,MAAME,WAAW,CAAC;EACvBC,WAAWA,CACDC,IAAc,EACdC,SAAoB,EACpBC,YAA4B,EAC5BC,UAA0B,EAC1BC,WAA2B,EAC3BC,KAAgB,EAChBC,QAAsB,EACtBC,YAA8B,EAC9BC,eAA8B,EAC9BC,YAA8B,EAC9BC,aAAuB,EACvBC,WAAqB,EACrBC,YAAsB,EACtBC,MAAc,EACtB;IAAA,KAdQb,IAAc,GAAdA,IAAc;IAAA,KACdC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,YAA4B,GAA5BA,YAA4B;IAAA,KAC5BC,UAA0B,GAA1BA,UAA0B;IAAA,KAC1BC,WAA2B,GAA3BA,WAA2B;IAAA,KAC3BC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,eAA8B,GAA9BA,eAA8B;IAAA,KAC9BC,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,aAAuB,GAAvBA,aAAuB;IAAA,KACvBC,WAAqB,GAArBA,WAAqB;IAAA,KACrBC,YAAsB,GAAtBA,YAAsB;IAAA,KACtBC,MAAc,GAAdA,MAAc;EACrB;EAEH,MAAcC,cAAcA,CAACC,YAA2B,EAAE;IACxD,MAAMC,SAAS,GAAGD,YAAY,CAACE,OAAO,CAAEzD,CAAC,IAAMA,CAAC,CAACwD,SAAS,GAAG,CAACxD,CAAC,CAACwD,SAAS,CAAC,GAAG,EAAG,CAAC;IACjF,MAAME,MAAM,GAAGF,SAAS,CAACG,GAAG,CAAC,MAAOC,WAAmD,IAAK;MAC1F,OAAOC,OAAO,CAACC,GAAG,CAChBF,WAAW,CAACG,OAAO,CAAC,CAAC,CAACJ,GAAG,CAAC,OAAO,CAACK,SAAS,EAAEC,YAAY,CAAC,KAAK;QAC7D,IAAI;UACF,OAAO,MAAMA,YAAY,CAACC,KAAK,CAACF,SAAS,CAAC;QAC5C,CAAC,CAAC,OAAOG,GAAQ,EAAE;UACjB,MAAM,KAAIC,kCAAoB,EAACD,GAAG,EAAEH,SAAS,CAAC;QAChD;MACF,CAAC,CACH,CAAC;IACH,CAAC,CAAC;IACF,MAAMH,OAAO,CAACC,GAAG,CAACJ,MAAM,CAAC;EAC3B;EAEQW,4BAA4BA,CAClCC,UAAuB,EACvBC,oBAAmC,EACL;IAC9B,MAAMC,uBAAuB,GAAG,KAAIC,kDAAuB,EAACF,oBAAoB,EAAED,UAAU,CAAC;IAC7F,OAAOI,yBAAY,CAACC,EAAE,CAAiBL,UAAU,EAAGN,SAAS,IAAK;MAChE,MAAMY,WAAW,GAAGJ,uBAAuB,CAACK,kBAAkB,CAACb,SAAS,CAACc,EAAE,CAAC;MAC5E,MAAMC,cAAc,GAAGP,uBAAuB,CAACQ,4BAA4B,CAAChB,SAAS,CAACc,EAAE,CAAC;MACzF,MAAMtB,SAAS,GAAGgB,uBAAuB,CAACS,2BAA2B,CAACjB,SAAS,CAACc,EAAE,CAAC;MACnF,OAAO;QAAEI,QAAQ,EAAEH,cAAc;QAAEvB,SAAS;QAAEoB,WAAW;QAAEO,UAAU,EAAE,IAAAC,8BAAiB,EAAC,IAAI;MAAE,CAAC;IAClG,CAAC,CAAC;EACJ;EAEA,MAAMC,WAAWA,CACff,UAAuB,EACvBgB,OAAkB,GAAG,CAAC,CAAC,EACvBC,cAAwC,GAAG,CAAC,CAAC,EAC7CC,cAAqC,GAAG,CAAC,CAAC,EACnB;IACvB,MAAMC,WAA8B,GAAG,EAAE;IACzC,MAAMC,eAA8B,GAAG,EAAE;IACzC,MAAM;MAAEC,YAAY;MAAEC,WAAW;MAAEC,0BAA0B;MAAEC,MAAM;MAAEC;IAAsB,CAAC,GAAGT,OAAO;IACxG,IAAIS,qBAAqB,EAAER,cAAc,CAACQ,qBAAqB,GAAGA,qBAAqB;IACvF,MAAMC,yBAAyB,GAAG,MAAM,IAAI,CAACC,KAAK,CAChD3B,UAAU,EAAA5D,aAAA;MACRwF,YAAY,EAAE;IAAI,GAAKX,cAAc,GAAA7E,aAAA,CAAAA,aAAA,KAElC8E,cAAc;MACjB;MACAW,KAAK,EAAEJ,qBAAqB,GAAG,CAACK,iBAAY,CAACtB,EAAE,CAAC,GAAG/C;IAAS,EAEhE,CAAC;IACD,IAAI4D,YAAY,IAAI,CAACC,WAAW,EAAEI,yBAAyB,CAACK,kBAAkB,CAAC,CAAC;IAChFX,eAAe,CAAClF,IAAI,CAAC,GAAGwF,yBAAyB,CAACzC,YAAY,CAAC;IAC/DkC,WAAW,CAACjF,IAAI,CAACwF,yBAAyB,CAAC;IAE3C,IAAIJ,WAAW,IAAK,CAACC,0BAA0B,IAAI,EAACG,yBAAyB,aAAzBA,yBAAyB,eAAzBA,yBAAyB,CAAEM,SAAS,CAAC,CAAC,CAAC,EAAE;MAC3F,MAAMC,wBAA+C,GAAA7F,aAAA,CAAAA,aAAA,KAChD8E,cAAc;QACjBgB,WAAW,EAAEjB,cAAc,CAACiB,WAAW;QACvCC,oBAAoB,EAAET,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,CAAEzC;MAAY,EAC9D;MACD,MAAMmD,0BAA0B,GAAGZ,MAAM,GACrC,MAAM,IAAI,CAACa,YAAY,CAACrC,UAAU,EAAEiC,wBAAwB,CAAC,GAC7D,MAAM,IAAI,CAACK,WAAW,CAACtC,UAAU,EAAEiC,wBAAwB,CAAC;MAChE,IAAIZ,YAAY,IAAI,CAACC,WAAW,EAAEc,0BAA0B,CAACL,kBAAkB,CAAC,CAAC;MACjFX,eAAe,CAAClF,IAAI,CAAC,GAAGkG,0BAA0B,CAACnD,YAAY,CAAC;MAChEkC,WAAW,CAACjF,IAAI,CAACkG,0BAA0B,CAAC;IAC9C;IACA,MAAM,IAAI,CAACpD,cAAc,CAACoC,eAAe,CAAC;IAC1C,MAAMmB,cAAc,GAAG,IAAI,CAACxC,4BAA4B,CAACC,UAAU,EAAEoB,eAAe,CAAC;IACrF,IAAIK,qBAAqB,EAAE,MAAM,IAAI,CAACe,oBAAoB,CAACD,cAAc,EAAEd,qBAAqB,CAAC;IACjG,IAAI,CAACgB,sBAAsB,CAACF,cAAc,CAAC;IAE3C,OAAO;MAAEA,cAAc;MAAEpB;IAAY,CAAC;EACxC;EAEQsB,sBAAsBA,CAACF,cAA4C,EAAE;IAC3EA,cAAc,CAAChG,OAAO,CAAC,CAACmG,SAAyB,EAAEhD,SAAS,KAAK;MAC/D,MAAMiD,iBAAiB,GAAGD,SAAS,CAAC9B,QAAQ,CAACvB,GAAG,CAAE3D,CAAC,IACjDkH,4BAAe,CAACC,WAAW,CAAC;QAAEC,QAAQ,EAAEpH,CAAC,CAACqH,MAAM;QAAEC,IAAI,EAAEtH,CAAC,CAACuH;MAAS,CAAC,CACtE,CAAC;MACD,MAAMC,YAAY,GAAG,IAAAC,2BAAgB,EAACR,iBAAiB,CAAC;MACxD,IAAIO,YAAY,CAAC5G,MAAM,EAAE;QACvB,MAAM,IAAI8G,KAAK,CACZ,uEAAsE1D,SAAS,CAACc,EAAE,CAAC6C,QAAQ,CAAC,CAAE,qBAAoBH,YAAY,CAACI,IAAI,CAClI,IACF,CAAE,EACJ,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAcd,oBAAoBA,CAChCD,cAA4C,EAC5Cd,qBAAoC,EACpC;IACA,MAAM8B,QAAQ,GAAGhB,cAAc,CAAClD,GAAG,CAAC,OAAOmE,WAAW,EAAE9D,SAAS,KAAK;MACpE,MAAM+D,YAAY,GAAGhC,qBAAqB,CAACiC,IAAI,CAAElD,EAAE,IAAKA,EAAE,CAACmD,OAAO,CAACjE,SAAS,CAACc,EAAE,EAAE;QAAEoD,aAAa,EAAE;MAAK,CAAC,CAAC,CAAC;MAC1G,MAAMC,KAAK,GAAGnE,SAAS,CAACc,EAAE,CAAC6C,QAAQ,CAAC,CAAC;MACrC,IAAI,CAACI,YAAY,EAAE;QACjB,MAAM,IAAIL,KAAK,CAAE,uFAAsFS,KAAM,EAAC,CAAC;MACjH;MACA,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACpF,eAAe,CAACqF,OAAO,CAAC,CAAC,CAACC,GAAG,CAACP,YAAY,CAAC;MAC/E,IAAI,CAACK,gBAAgB,EACnB,MAAM,IAAIV,KAAK,CACZ,kEAAiES,KAAM,WAAUJ,YAAY,CAACQ,OAAQ,EACzG,CAAC;MACH,MAAMC,uBAAuB,GAAG,IAAI,CAACC,cAAc,CAACL,gBAAgB,CAAC;MACrE,IAAI,CAACI,uBAAuB,EAAE,MAAM,IAAId,KAAK,CAAE,aAAYS,KAAM,wCAAuC,CAAC;MACzGK,uBAAuB,CAAChF,SAAS,CAAC3C,OAAO,CAAE6H,QAAQ,IAAK;QACtD,MAAMC,WAAW,GAAGD,QAAQ,CAACE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAACd,WAAW,CAACtE,SAAS,EAAEsE,WAAW,CAACtE,SAAS,GAAG,EAAE;QACtD,IACEsE,WAAW,CAACtE,SAAS,CAACwE,IAAI,CAAEa,CAAC,IAAKA,CAAC,CAACC,IAAI,CAAChE,EAAE,KAAK6D,WAAW,CAACG,IAAI,CAAChE,EAAE,IAAI+D,CAAC,CAACC,IAAI,CAACxB,IAAI,KAAKqB,WAAW,CAACG,IAAI,CAACxB,IAAI,CAAC,EAC7G;UACA;QACF;QACAQ,WAAW,CAACtE,SAAS,CAAChD,IAAI,CAACmI,WAAW,CAAC;MACzC,CAAC,CAAC;MACFH,uBAAuB,CAAC5D,WAAW,CAAC/D,OAAO,CAAEkI,UAAU,IAAK;QAC1D,IAAIjB,WAAW,CAAClD,WAAW,CAACoD,IAAI,CAAEa,CAAC,IAAKA,CAAC,CAACzB,QAAQ,KAAK2B,UAAU,CAAC3B,QAAQ,CAAC,EAAE;QAC7EU,WAAW,CAAClD,WAAW,CAACpE,IAAI,CAACuI,UAAU,CAAC;MAC1C,CAAC,CAAC;MACFP,uBAAuB,CAACtD,QAAQ,CAACrE,OAAO,CAAEqE,QAAQ,IAAK;QACrD,IAAI4C,WAAW,CAAC5C,QAAQ,CAAC8C,IAAI,CAAEgB,CAAC,IAAKA,CAAC,CAAC3B,MAAM,KAAKnC,QAAQ,CAACmC,MAAM,IAAI2B,CAAC,CAACzB,QAAQ,KAAKrC,QAAQ,CAACqC,QAAQ,CAAC,EAAE;QACxGO,WAAW,CAAC5C,QAAQ,CAAC1E,IAAI,CAAC0E,QAAQ,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMrB,OAAO,CAACC,GAAG,CAAC+D,QAAQ,CAACoB,YAAY,CAAC,CAAC,CAAC;EAC5C;;EAEA;EACA,MAAMC,yBAAyBA,CAAClF,SAAoB,EAAEmF,UAAkB,EAA4B;IAClG,MAAM3F,SAAS,GAAG,IAAI,CAAC4F,oBAAoB,CAACpF,SAAS,EAAEmF,UAAU,CAAC;IAClE,MAAME,MAAM,GAAG,MAAM7F,SAAS,CAAC8F,2BAA2B,CAACtF,SAAS,CAACc,EAAE,EAAE,IAAI,CAACjC,KAAK,CAAC0G,WAAW,CAAC;IAChG,OAAOF,MAAM;EACf;EAEA,MAAMG,gCAAgCA,CACpCxF,SAAoB,EACpBmF,UAAkB,EAClB7B,IAAY,EACc;IAC1B,MAAM9D,SAAS,GAAG,IAAI,CAACiG,2BAA2B,CAACzF,SAAS,EAAEmF,UAAU,EAAE7B,IAAI,CAAC;IAC/E,MAAM+B,MAAM,GAAG,MAAM7F,SAAS,CAAC8F,2BAA2B,CAACtF,SAAS,CAACc,EAAE,EAAE,IAAI,CAACjC,KAAK,CAAC0G,WAAW,CAAC;IAChG,OAAOF,MAAM;EACf;EAEA,MAAMK,oCAAoCA,CACxC1F,SAAoB,EACpBmF,UAAkB,EAClB7B,IAAY,EACc;IAC1B,MAAM9D,SAAS,GAAG,IAAI,CAACmG,+BAA+B,CAAC3F,SAAS,EAAEmF,UAAU,EAAE7B,IAAI,CAAC;IACnF,MAAM+B,MAAM,GAAG,MAAM7F,SAAS,CAAC8F,2BAA2B,CAACtF,SAAS,CAACc,EAAE,EAAE,IAAI,CAACjC,KAAK,CAAC0G,WAAW,CAAC;IAChG,OAAOF,MAAM;EACf;EAEAO,kBAAkBA,CAAC5F,SAAoB,EAAEsD,IAAY,EAA0B;IAC7E,MAAM9D,SAAS,GAAG,IAAI,CAACqG,YAAY,CAAC7F,SAAS,CAAC,CAAC8F,mBAAmB,CAAC/H,SAAS,EAAEuF,IAAI,CAAC;IACnF,OAAO9D,SAAS;EAClB;EAEA4F,oBAAoBA,CAACpF,SAAoB,EAAEmF,UAAkB,EAA0B;IACrF,MAAM3F,SAAS,GAAG,IAAI,CAACqG,YAAY,CAAC7F,SAAS,CAAC,CAAC8F,mBAAmB,CAACX,UAAU,CAAC;IAC9E,OAAO3F,SAAS;EAClB;EAEAiG,2BAA2BA,CAACzF,SAAoB,EAAEmF,UAAkB,EAAE7B,IAAY,EAA0B;IAC1G,MAAM9D,SAAS,GAAG,IAAI,CAACqG,YAAY,CAAC7F,SAAS,CAAC,CAAC8F,mBAAmB,CAACX,UAAU,EAAE7B,IAAI,CAAC;IACpF,OAAO9D,SAAS;EAClB;EAEAmG,+BAA+BA,CAAC3F,SAAqB,EAAEmF,UAAkB,EAAE5B,QAAgB,EAA0B;IACnH,MAAM/D,SAAS,GAAG,IAAI,CAACqG,YAAY,CAAC7F,SAAS,CAAC,CAAC+F,uBAAuB,CAACZ,UAAU,EAAE5B,QAAQ,CAAC;IAC5F,OAAO/D,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;EACEwG,eAAeA,CAAChG,SAAqB,EAAEmF,UAAkB,EAA4B;IAAA,IAAAc,oBAAA;IACnF,MAAMrF,WAAW,IAAAqF,oBAAA,GAAG,IAAI,CAACxB,cAAc,CAACzE,SAAS,CAAC,cAAAiG,oBAAA,uBAA9BA,oBAAA,CAAgCrF,WAAW;IAC/D,MAAMlH,IAAI,GAAGkH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEoD,IAAI,CAAEe,UAAU,IAAKA,UAAU,CAAC3B,QAAQ,KAAK+B,UAAU,CAAC;IAClF,OAAOzL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEA,IAAI;EACnB;EAEAmM,YAAYA,CAAC7F,SAAqB,EAA0B;IAAA,IAAAkG,qBAAA;IAC1D,MAAM1G,SAAS,GAAG,EAAA0G,qBAAA,OAAI,CAACzB,cAAc,CAACzE,SAAS,CAAC,cAAAkG,qBAAA,uBAA9BA,qBAAA,CAAgC1G,SAAS,KAAI2G,wBAAY,CAACC,SAAS,CAAC,EAAE,CAAC;IACzF,OAAO5G,SAAS;EAClB;EAEAiF,cAAcA,CAACzE,SAAqB,EAA2B;IAAA,IAAAqG,cAAA,EAAAC,qBAAA;IAC7D,MAAM5M,IAAI,IAAA2M,cAAA,GAAGrG,SAAS,CAACsE,GAAG,CAACiC,wBAAa,CAACzF,EAAE,CAAC,cAAAuF,cAAA,uBAA/BA,cAAA,CAAiC3M,IAAI;IAClD,IAAI,CAACA,IAAI,EAAE,OAAOqE,SAAS;IAC3B,MAAMyI,UAAU,GAAG,IAAAC,mBAAS,EAAC/M,IAAI,CAAgB;IACjD,IAAIgN,aAA4B;IAChC,MAAMlH,SAAS,IAAA8G,qBAAA,GAAGE,UAAU,CAAChH,SAAS,cAAA8G,qBAAA,uBAApBA,qBAAA,CAAsB3G,GAAG,CAAE+E,QAAQ,IAAK;MACxD,IAAI,EAAEA,QAAQ,CAACiC,KAAK,YAAYC,8BAAa,CAAC,EAAE;QAC9CF,aAAa,GAAGE,8BAAa,CAACC,UAAU,CAACnC,QAAQ,CAACiC,KAAK,CAAC;MAC1D,CAAC,MAAM;QACLD,aAAa,GAAGhC,QAAQ,CAACiC,KAAK;MAChC;MACA,IAAIjC,QAAQ,YAAYoC,oBAAQ,EAAE;QAChC,OAAOpC,QAAQ;MACjB;MACAzI,MAAM,CAAC8K,MAAM,CAACrC,QAAQ,EAAE;QAAEiC,KAAK,EAAED;MAAc,CAAC,CAAC;MACjD,OAAOI,oBAAQ,CAACE,kBAAkB,CAACtC,QAAQ,CAAC;IAC9C,CAAC,CAAC;IACF8B,UAAU,CAAChH,SAAS,GAAG2G,wBAAY,CAACC,SAAS,CAAC5G,SAAS,IAAI,EAAE,CAAC;IAC9D,OAAOgH,UAAU;EACnB;EAEA,MAAMvE,KAAKA,CACT3B,UAAuB,EACvBiB,cAAyC,EACzCC,cAAsC,EACZ;IAC1B,MAAMyF,GAAG,GAAG3G,UAAU,CAACX,GAAG,CAAEuH,CAAC,IAAKA,CAAC,CAACpG,EAAE,CAAC;IACvC,MAAMqG,eAAe,GAAG,IAAI,CAACzI,YAAY,CAAC0I,4BAA4B,CAAC,CAAC;IACxE,MAAMC,eAAe,GAAG;MACtBC,OAAO,EAAEH,eAAe;MACxBI,OAAO,EAAE,CAACJ;IACZ,CAAC;IACD,MAAMK,iBAAiB,GAAA9K,aAAA,CAAAA,aAAA,KAClB2K,eAAe,GACf9F,cAAc,CAClB;IAED,MAAMkG,OAAO,GAAG,MAAM,IAAI,CAAC3I,QAAQ,CAAC4I,iBAAiB,CAACT,GAAG,EAAEO,iBAAiB,EAAE,IAAI,CAAC3I,KAAK,CAAC0G,WAAW,CAAC;IACrG,MAAM/G,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,CAACmJ,iBAAiB,CAACF,OAAO,CAACG,aAAa,CAACC,gBAAgB,CAAC,CAAC,CAAC;IACxF,MAAMC,qBAAqB,GAAApL,aAAA;MACzB8F,WAAW,EAAEjB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEiB,WAAW;MACxCuF,eAAe,EAAEd,GAAG;MACpBE;IAAe,GACX3F,cAAc,IAAI,CAAC,CAAC,CACzB;IACD,IAAI,CAACnC,MAAM,CAAC2I,YAAY,CAAE,SAAQ1H,UAAU,CAAC1D,MAAO,sBAAqB,CAAC;IAC1E,MAAMqL,WAAW,GAAG,MAAMzJ,IAAI,CAAC0J,OAAO,CAAC,IAAI,CAACxJ,YAAY,EAAEoJ,qBAAqB,CAAC;IAChF,OAAOG,WAAW;EACpB;EAEA,MAAMrF,WAAWA,CAACtC,UAAuB,EAAEkB,cAAqC,EAA4B;IAC1G,MAAMhD,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,CAACmJ,iBAAiB,CAACrH,UAAU,CAAC;IAC1D,MAAM2H,WAAW,GAAG,MAAMzJ,IAAI,CAAC0J,OAAO,CAAC,IAAI,CAACvJ,UAAU,EAAE6C,cAAc,CAAC;IAEvE,OAAOyG,WAAW;EACpB;EAEA,MAAMtF,YAAYA,CAACrC,UAAuB,EAAEkB,cAAqC,EAA4B;IAC3G,MAAMhD,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,CAACmJ,iBAAiB,CAACrH,UAAU,CAAC;IAC1D,MAAM2H,WAAW,GAAG,MAAMzJ,IAAI,CAAC0J,OAAO,CAAC,IAAI,CAACtJ,WAAW,EAAE4C,cAAc,CAAC;IAExE,OAAOyG,WAAW;EACpB;EAEAE,SAASA,CAACnI,SAAoB,EAAE;IAC9B,MAAMoI,OAAO,GAAG,IAAI,CAAC5J,IAAI,CAAC6J,MAAM,CAACrI,SAAS,CAAC;IAC3C,MAAMsI,UAAU,GAAG,IAAI,CAAC5J,YAAY,CAAC6J,mBAAmB,CAACH,OAAO,CAAC;IACjE,MAAMI,QAAQ,GAAG,IAAI,CAAC7J,UAAU,CAAC4J,mBAAmB,CAACH,OAAO,CAAC;IAC7D,MAAMK,SAAS,GAAG,IAAI,CAAC7J,WAAW,CAAC2J,mBAAmB,CAACH,OAAO,CAAC;IAC/D,OAAO;MAAEtH,EAAE,EAAEd,SAAS,CAACc,EAAE;MAAE4H,KAAK,EAAEN,OAAO,CAACtH,EAAE;MAAEwH,UAAU;MAAEE,QAAQ;MAAEC;IAAU,CAAC;EACjF;;EAEA;AACF;AACA;AACA;EACEE,kBAAkBA,CAACxG,KAAkB,EAAE;IACrC,IAAI,CAACjD,aAAa,CAAC0J,QAAQ,CAACzG,KAAK,CAAC;IAClC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE0G,mBAAmBA,CAAC1G,KAAkB,EAAE;IACtC,IAAI,CAAChD,WAAW,CAACyJ,QAAQ,CAACzG,KAAK,CAAC;IAChC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACE2G,gBAAgBA,CAAC3G,KAAkB,EAAE;IACnC,IAAI,CAAChD,WAAW,CAACyJ,QAAQ,CAACzG,KAAK,CAAC;IAChC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACE4G,iBAAiBA,CAAC5G,KAAkB,EAAE;IACpC,IAAI,CAAC/C,YAAY,CAACwJ,QAAQ,CAACzG,KAAK,CAAC;IACjC,OAAO,IAAI;EACb;EAEA6G,yBAAyBA,CAACC,WAAwB,EAAE5F,MAAc,EAAE6F,IAAa,EAAE;IACjF,OAAQ,QAAOD,WAAY,oBAAmB5F,MAAO,IAAG6F,IAAI,GAAI,GAAE9K,qBAAsB,GAAE8K,IAAK,EAAC,GAAG,EAAG,EAAC;EACzG;EAoBA,aAAaC,QAAQA,CACnB,CAACC,GAAG,EAAE5K,IAAI,EAAEC,SAAS,EAAEI,KAAK,EAAEC,QAAQ,EAAEuK,SAAS,EAAEtK,YAAY,EAAEuK,OAAO,EAAEC,SAAS,EAAEvJ,SAAS,EAAEwJ,EAAE,EAAEvK,YAAY,CAa/G,EACDwK,MAAM,EACN,CAACvK,aAAa,EAAEC,WAAW,EAAEC,YAAY,CAAiC,EAC1E;IACA,MAAMsK,eAAe,GAAG,KAAIC,kCAAe,EAAC,CAAC;IAC7C,MAAMtK,MAAM,GAAGgK,SAAS,CAACO,YAAY,CAACrD,wBAAa,CAACzF,EAAE,CAAC;IACvD,MAAMpC,YAAY,GAAG,KAAImL,0BAAc,EACrC/K,QAAQ,EACRO,MAAM,EACNH,aAAa,EACb,cAAc,EACd,OAAO,EACPwK,eAAe,EACf7K,KAAK,EACLI,YACF,CAAC;IACDT,IAAI,CAACsL,eAAe,CAACpL,YAAY,CAAC;IAClC,MAAMC,UAAU,GAAG,KAAIkL,0BAAc,EACnC/K,QAAQ,EACRO,MAAM,EACNF,WAAW,EACX,YAAY,EACZ,KAAK,EACLuK,eAAe,EACf7K,KAAK,EACLI,YACF,CAAC;IACD,MAAML,WAAW,GAAG,KAAIiL,0BAAc,EACpC/K,QAAQ,EACRO,MAAM,EACND,YAAY,EACZ,aAAa,EACb,MAAM,EACNsK,eAAe,EACf7K,KAAK,EACLI,YACF,CAAC;IACD,MAAM8K,OAAO,GAAG,IAAIzL,WAAW,CAC7BE,IAAI,EACJC,SAAS,EACTC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXC,KAAK,EACLC,QAAQ,EACRC,YAAY,EACZiB,SAAS,EACTf,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,YAAY,EACZC,MACF,CAAC;IACD0K,OAAO,CAACpB,kBAAkB,CAAC,CAAC,KAAIqB,kBAAY,EAACR,EAAE,EAAEnK,MAAM,CAAC,CAAC,CAAC;IAC1DW,SAAS,CAACiK,aAAa,CAAC,CAAC,KAAIC,wBAAY,EAACH,OAAO,EAAElL,KAAK,EAAEQ,MAAM,CAAC,CAAC,CAAC;IACnEiK,OAAO,CAACV,QAAQ,CAAC,IAAAuB,yBAAa,EAACJ,OAAO,EAAE1K,MAAM,CAAC,CAAC;IAChD,IAAIkK,SAAS,EAAEA,SAAS,CAACa,yBAAyB,CAAC,CAACC,+BAAiB,CAAC,CAAC;IACvE,MAAMC,QAAQ,GAAG,CAAC,KAAIC,mBAAU,EAACR,OAAO,EAAEtL,SAAS,EAAEY,MAAM,CAAC,EAAE,KAAImL,yBAAY,EAACT,OAAO,EAAE/J,SAAS,CAAC,CAAC;IACnGoJ,GAAG,CAACR,QAAQ,CAAC,GAAG0B,QAAQ,CAAC;IAEzB,OAAOP,OAAO;EAChB;AACF;AAAC1L,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAAAxB,eAAA,CA/ZYwB,WAAW,WAiUP,CAACmM,eAAI,CAACC,QAAQ,CAAY,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAY,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAY,CAAC,CAAC;AAAA5N,eAAA,CAjUxFwB,WAAW,aAmULqM,kBAAW;AAAA7N,eAAA,CAnUjBwB,WAAW,kBAoUA,CACpBsM,gBAAS,EACTC,kBAAU,EACVC,4BAAe,EACfC,oBAAW,EACXC,0BAAc,EACdC,sBAAY,EACZC,kCAAkB,EAClBC,wBAAa,EACbC,4BAAe,EACfC,4BAAe,EACfC,cAAQ,EACRC,uBAAkB,CACnB;AAgFHhF,wBAAa,CAACiF,UAAU,CAAClN,WAAW,CAAC"}
|
package/dist/builder.route.js
CHANGED
|
@@ -47,7 +47,7 @@ class BuilderRoute {
|
|
|
47
47
|
error: `no artifacts found for component ${component.id} by aspect ${aspectId}`
|
|
48
48
|
});
|
|
49
49
|
const extensionsWithArtifacts = await Promise.all(artifacts.map(async artifact => {
|
|
50
|
-
const files = await artifact.files.getVinylsAndImportIfMissing(component.id
|
|
50
|
+
const files = await artifact.files.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);
|
|
51
51
|
if (!filePath) return {
|
|
52
52
|
extensionId: artifact.task.aspectId,
|
|
53
53
|
files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_archiver","data","_interopRequireDefault","require","_mime","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","routePath","exports","defaultExtension","BuilderRoute","constructor","builder","scope","logger","req","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","
|
|
1
|
+
{"version":3,"names":["_archiver","data","_interopRequireDefault","require","_mime","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","routePath","exports","defaultExtension","BuilderRoute","constructor","builder","scope","logger","req","component","params","aspectIdStr","filePath","split","aspectId","replace","artifacts","getArtifactsByAspect","getArtifacts","status","jsonp","error","id","extensionsWithArtifacts","Promise","all","map","artifact","files","getVinylsAndImportIfMissing","legacyScope","extensionId","task","filter","file","path","artifactFilesCount","reduce","accum","next","length","extensionWithArtifact","find","e","fileName","fileContent","contents","fileExt","extname","contentType","mime","getType","set","send","archive","archiver","gzip","on","warn","message","err","forEach","extensionWithArtifacts","append","name","pipe","finalize","attachment","toString"],"sources":["builder.route.ts"],"sourcesContent":["import { Request, Response, Route } from '@teambit/express';\nimport { Component } from '@teambit/component';\nimport archiver from 'archiver';\nimport { Logger } from '@teambit/logger';\nimport { ScopeMain } from '@teambit/scope';\nimport mime from 'mime';\nimport { BuilderMain } from './builder.main.runtime';\n\nexport const routePath = `builder`;\n\nexport type BuilderUrlParams = {\n aspectId?: string;\n filePath?: string;\n};\nexport const defaultExtension = '.tgz';\nexport class BuilderRoute implements Route {\n constructor(private builder: BuilderMain, private scope: ScopeMain, private logger: Logger) {}\n route = `/${routePath}/*`;\n method = 'get';\n\n middlewares = [\n async (req: Request<BuilderUrlParams>, res: Response) => {\n // @ts-ignore TODO: @guy please fix.\n const component = req.component as Component;\n const { params } = req;\n const [aspectIdStr, filePath] = params[1].split('~');\n // remove trailing slash\n const aspectId = aspectIdStr.replace(/\\/$/, '');\n const artifacts = aspectId\n ? this.builder.getArtifactsByAspect(component, aspectId)\n : this.builder.getArtifacts(component);\n if (!artifacts)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n const extensionsWithArtifacts = await Promise.all(\n artifacts.map(async (artifact) => {\n const files = await artifact.files.getVinylsAndImportIfMissing(component.id, this.scope.legacyScope);\n if (!filePath) return { extensionId: artifact.task.aspectId, files };\n return { extensionId: artifact.task.aspectId, files: files.filter((file) => file.path === filePath) };\n })\n );\n\n const artifactFilesCount = extensionsWithArtifacts.reduce((accum, next) => accum + next.files.length, 0);\n\n if (artifactFilesCount === 0)\n return res\n .status(404)\n .jsonp({ error: `no artifacts found for component ${component.id} by aspect ${aspectId}` });\n\n if (artifactFilesCount === 1) {\n const extensionWithArtifact = extensionsWithArtifacts.find((e) => e.files.length > 0);\n const fileName = `${extensionWithArtifact?.extensionId}_${extensionWithArtifact?.files[0].path}`;\n const fileContent = extensionWithArtifact?.files[0].contents;\n const fileExt = extensionWithArtifact?.files[0].extname || defaultExtension;\n const contentType = mime.getType(fileExt);\n res.set('Content-disposition', `attachment; filename=${fileName}`);\n if (contentType) res.set('Content-Type', contentType);\n return res.send(fileContent);\n }\n\n /**\n * if more than 1 file requested, zip them before sending\n */\n const archive = archiver('tar', { gzip: true });\n\n archive.on('warning', (warn) => {\n this.logger.warn(warn.message);\n });\n\n archive.on('error', (err) => {\n this.logger.error(err.message);\n });\n\n extensionsWithArtifacts.forEach((extensionWithArtifacts) => {\n extensionWithArtifacts.files.forEach((artifact) => {\n archive.append(artifact.contents, { name: `${extensionWithArtifacts.extensionId}_${artifact.path}` });\n });\n });\n\n try {\n archive.pipe(res);\n /**\n * promise that is returned from the await zip.finalize(); is resolved before the archive is actually finalized\n * resolving it results in setting the headers before the stream is finished\n */\n // eslint-disable-next-line no-void\n void archive.finalize();\n return res.attachment(`${aspectId.replace('/', '_')}.tar`);\n } catch (e: any) {\n return res.send({ error: e.toString() });\n }\n },\n ];\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as compositions_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b43ba7bd510274165d0509db76ae43db/teambit.pipelines_builder@1.0.28/dist/builder.composition.js';
|
|
2
|
+
import * as overview_0 from '/Users/davidfirst/Library/Caches/Bit/capsules/4ff44c81b43ba7bd510274165d0509db76ae43db/teambit.pipelines_builder@1.0.28/dist/builder.docs.mdx';
|
|
3
|
+
|
|
4
|
+
export const compositions = [compositions_0];
|
|
5
|
+
export const overview = [overview_0];
|
|
6
|
+
|
|
7
|
+
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/builder",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.28",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/pipelines/builder",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.pipelines",
|
|
8
8
|
"name": "builder",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.28"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -25,26 +25,26 @@
|
|
|
25
25
|
"core-js": "^3.0.0",
|
|
26
26
|
"@babel/runtime": "7.20.0",
|
|
27
27
|
"@teambit/graph.cleargraph": "0.0.1",
|
|
28
|
-
"@teambit/harmony": "0.4.6",
|
|
29
|
-
"@teambit/component": "1.0.27",
|
|
30
|
-
"@teambit/envs": "1.0.27",
|
|
31
|
-
"@teambit/logger": "0.0.892",
|
|
32
|
-
"@teambit/toolbox.string.capitalize": "0.0.492",
|
|
33
|
-
"@teambit/tester": "1.0.27",
|
|
34
|
-
"@teambit/isolator": "1.0.27",
|
|
35
28
|
"@teambit/lane-id": "0.0.311",
|
|
36
|
-
"@teambit/
|
|
37
|
-
"@teambit/workspace": "1.0.27",
|
|
38
|
-
"@teambit/aspect-loader": "1.0.27",
|
|
39
|
-
"@teambit/aspect": "1.0.27",
|
|
40
|
-
"@teambit/generator": "1.0.28",
|
|
41
|
-
"@teambit/global-config": "0.0.801",
|
|
42
|
-
"@teambit/graphql": "1.0.27",
|
|
43
|
-
"@teambit/scope": "1.0.27",
|
|
44
|
-
"@teambit/ui": "1.0.27",
|
|
45
|
-
"@teambit/express": "0.0.898",
|
|
29
|
+
"@teambit/harmony": "0.4.6",
|
|
46
30
|
"@teambit/bit-error": "0.0.404",
|
|
47
|
-
"@teambit/component-id": "1.0
|
|
31
|
+
"@teambit/component-id": "1.1.0",
|
|
32
|
+
"@teambit/component": "1.0.28",
|
|
33
|
+
"@teambit/envs": "1.0.28",
|
|
34
|
+
"@teambit/logger": "0.0.893",
|
|
35
|
+
"@teambit/toolbox.string.capitalize": "0.0.492",
|
|
36
|
+
"@teambit/tester": "1.0.28",
|
|
37
|
+
"@teambit/isolator": "1.0.28",
|
|
38
|
+
"@teambit/cli": "0.0.800",
|
|
39
|
+
"@teambit/workspace": "1.0.28",
|
|
40
|
+
"@teambit/aspect-loader": "1.0.28",
|
|
41
|
+
"@teambit/aspect": "1.0.28",
|
|
42
|
+
"@teambit/generator": "1.0.29",
|
|
43
|
+
"@teambit/global-config": "0.0.802",
|
|
44
|
+
"@teambit/graphql": "1.0.28",
|
|
45
|
+
"@teambit/scope": "1.0.28",
|
|
46
|
+
"@teambit/ui": "1.0.28",
|
|
47
|
+
"@teambit/express": "0.0.899"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@types/lodash": "4.14.165",
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
"@types/react-dom": "^17.0.5",
|
|
59
59
|
"@types/jest": "^26.0.0",
|
|
60
60
|
"@types/testing-library__jest-dom": "5.9.5",
|
|
61
|
-
"@teambit/pipelines.aspect-docs.builder": "0.0.
|
|
61
|
+
"@teambit/pipelines.aspect-docs.builder": "0.0.163"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@teambit/legacy": "1.0.
|
|
64
|
+
"@teambit/legacy": "1.0.580",
|
|
65
65
|
"react": "^16.8.0 || ^17.0.0",
|
|
66
66
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
67
67
|
},
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.27/dist/builder.composition.js';
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@1.0.27/dist/builder.docs.mdx';
|
|
3
|
-
|
|
4
|
-
export const compositions = [compositions_0];
|
|
5
|
-
export const overview = [overview_0];
|
|
6
|
-
|
|
7
|
-
export const compositions_metadata = {"compositions":[{"displayName":"Logo","identifier":"Logo"}]};
|