@teambit/builder 0.0.1158 → 0.0.1160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifact/artifact-extractor.js +2 -5
- package/dist/artifact/artifact-extractor.js.map +1 -1
- package/dist/artifact/artifact-factory.js +1 -2
- package/dist/artifact/artifact-factory.js.map +1 -1
- package/dist/artifact/artifact-list.js +1 -5
- package/dist/artifact/artifact-list.js.map +1 -1
- package/dist/artifact/artifact.js +0 -1
- package/dist/artifact/artifact.js.map +1 -1
- package/dist/artifact/artifacts.cmd.js +12 -18
- package/dist/artifact/artifacts.cmd.js.map +1 -1
- package/dist/build-pipe.js +8 -16
- package/dist/build-pipe.js.map +1 -1
- package/dist/build-pipeline-order.js +1 -4
- package/dist/build-pipeline-order.js.map +1 -1
- package/dist/build-pipeline-result-list.js +5 -14
- package/dist/build-pipeline-result-list.js.map +1 -1
- package/dist/build-task.js +0 -1
- package/dist/build-task.js.map +1 -1
- package/dist/build.cmd.js +12 -20
- package/dist/build.cmd.js.map +1 -1
- package/dist/builder.composition.js +1 -1
- package/dist/builder.composition.js.map +1 -1
- package/dist/builder.graphql.js +5 -12
- package/dist/builder.graphql.js.map +1 -1
- package/dist/builder.main.runtime.js +8 -16
- package/dist/builder.main.runtime.js.map +1 -1
- package/dist/builder.route.js +7 -15
- package/dist/builder.route.js.map +1 -1
- package/dist/builder.service.js +5 -11
- package/dist/builder.service.js.map +1 -1
- package/dist/{preview-1694575035715.js → preview-1694661423555.js} +2 -2
- package/dist/storage/default-resolver.js +4 -10
- package/dist/storage/default-resolver.js.map +1 -1
- package/dist/task-results-list.js +1 -1
- package/dist/task-results-list.js.map +1 -1
- package/package.json +20 -22
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
@@ -70,6 +67,7 @@ function _artifact() {
|
|
|
70
67
|
};
|
|
71
68
|
return data;
|
|
72
69
|
}
|
|
70
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
73
71
|
class ArtifactExtractor {
|
|
74
72
|
constructor(componentMain, builder, pattern, options) {
|
|
75
73
|
this.componentMain = componentMain;
|
|
@@ -94,8 +92,7 @@ class ArtifactExtractor {
|
|
|
94
92
|
groupResultsByAspect(extractorResult) {
|
|
95
93
|
return extractorResult.map(result => {
|
|
96
94
|
const artifacts = result.artifacts.reduce((acc, current) => {
|
|
97
|
-
|
|
98
|
-
(acc[_current$aspectId = current.aspectId] || (acc[_current$aspectId] = [])).push(current);
|
|
95
|
+
(acc[current.aspectId] ||= []).push(current);
|
|
99
96
|
return acc;
|
|
100
97
|
}, {});
|
|
101
98
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_filenamify","_fsExtra","_scope","_pMapSeries","_minimatch","_artifactFiles","_artifactList","_artifact","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","_current$aspectId","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","_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,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -69,6 +67,7 @@ function _fsArtifact() {
|
|
|
69
67
|
};
|
|
70
68
|
return data;
|
|
71
69
|
}
|
|
70
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
72
71
|
const DEFAULT_CONTEXT = 'component';
|
|
73
72
|
exports.DEFAULT_CONTEXT = DEFAULT_CONTEXT;
|
|
74
73
|
class ArtifactFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","require","_globby","_interopRequireDefault","_lodash","_artifactFiles","_component","_storage","_artifactList","_exceptions","_fsArtifact","DEFAULT_CONTEXT","exports","ArtifactFactory","resolvePaths","root","def","patternsFlattened","flatten","globPatterns","paths","globby","sync","cwd","getArtifactContextPath","context","component","artifactContext","getArtifactContext","_context$capsuleNetwo","capsulePath","capsuleNetwork","graphCapsules","getCapsule","id","path","CapsuleNotFound","capsulesRootDir","createFromComponent","task","contextPath","rootDir","getRootDir","length","undefined","FsArtifact","ArtifactFiles","getStorageResolver","storageResolver","DefaultResolver","toComponentMap","artifactMap","ComponentMap","as","components","toString","artifacts","filter","targetId","map","artifact","ArtifactList","fromArray","join","generate","defs","tupleArr","forEach","capsuleDir","push"],"sources":["artifact-factory.ts"],"sourcesContent":["import { join } from 'path';\nimport globby from 'globby';\nimport { flatten } from 'lodash';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage';\nimport { ArtifactList } from './artifact-list';\nimport type { BuildContext, BuildTask } from '../build-task';\nimport { CapsuleNotFound } from '../exceptions';\nimport { FsArtifact } from './fs-artifact';\n\nexport const DEFAULT_CONTEXT = 'component';\n\nexport type ArtifactMap = ComponentMap<ArtifactList<FsArtifact>>;\n\nexport class ArtifactFactory {\n resolvePaths(root: string, def: ArtifactDefinition): string[] {\n const patternsFlattened = flatten(def.globPatterns);\n const paths = globby.sync(patternsFlattened, { cwd: root });\n return paths;\n }\n\n private getArtifactContextPath(context: BuildContext, component: Component, def: ArtifactDefinition) {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'component') {\n const capsulePath = context.capsuleNetwork.graphCapsules.getCapsule(component.id)?.path;\n if (!capsulePath) throw new CapsuleNotFound(component.id);\n return capsulePath;\n }\n\n return context.capsuleNetwork.capsulesRootDir;\n }\n\n private getArtifactContext(def: ArtifactDefinition) {\n return def.context || DEFAULT_CONTEXT;\n }\n\n createFromComponent(\n context: BuildContext,\n component: Component,\n def: ArtifactDefinition,\n task: BuildTask\n ): FsArtifact | undefined {\n const contextPath = this.getArtifactContextPath(context, component, def);\n const rootDir = this.getRootDir(contextPath, def);\n const paths = this.resolvePaths(rootDir, def);\n if (!paths || !paths.length) {\n return undefined;\n }\n return new FsArtifact(def, new ArtifactFiles(paths), task, rootDir);\n }\n\n private getStorageResolver(def: ArtifactDefinition) {\n return def.storageResolver || new DefaultResolver();\n }\n\n private toComponentMap(context: BuildContext, artifactMap: [string, FsArtifact][]) {\n return ComponentMap.as<ArtifactList<FsArtifact>>(context.components, (component) => {\n const id = component.id.toString();\n const artifacts = artifactMap.filter(([targetId]) => targetId === id).map(([, artifact]) => artifact);\n\n return ArtifactList.fromArray(artifacts);\n });\n }\n\n getRootDir(rootDir: string, def: ArtifactDefinition) {\n if (!def.rootDir) return rootDir;\n return join(rootDir, def.rootDir);\n }\n\n /**\n * generate artifacts from a build context according to the spec defined in the artifact definitions.\n */\n generate(context: BuildContext, defs: ArtifactDefinition[], task: BuildTask): ComponentMap<ArtifactList<FsArtifact>> {\n const tupleArr: [string, FsArtifact][] = [];\n\n defs.forEach((def) => {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'env') {\n const capsuleDir = context.capsuleNetwork.capsulesRootDir;\n const rootDir = this.getRootDir(capsuleDir, def);\n const paths = this.resolvePaths(rootDir, def);\n if (paths && paths.length) {\n const artifact = new FsArtifact(def, new ArtifactFiles(this.resolvePaths(rootDir, def)), task, rootDir);\n\n return context.components.forEach((component) => {\n tupleArr.push([component.id.toString(), artifact]);\n });\n }\n }\n\n return context.components.forEach((component) => {\n const artifact = this.createFromComponent(context, component, def, task);\n if (artifact) {\n tupleArr.push([component.id.toString(), artifact]);\n }\n });\n });\n\n return this.toComponentMap(context, tupleArr);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_path","data","require","_globby","_interopRequireDefault","_lodash","_artifactFiles","_component","_storage","_artifactList","_exceptions","_fsArtifact","obj","__esModule","default","DEFAULT_CONTEXT","exports","ArtifactFactory","resolvePaths","root","def","patternsFlattened","flatten","globPatterns","paths","globby","sync","cwd","getArtifactContextPath","context","component","artifactContext","getArtifactContext","_context$capsuleNetwo","capsulePath","capsuleNetwork","graphCapsules","getCapsule","id","path","CapsuleNotFound","capsulesRootDir","createFromComponent","task","contextPath","rootDir","getRootDir","length","undefined","FsArtifact","ArtifactFiles","getStorageResolver","storageResolver","DefaultResolver","toComponentMap","artifactMap","ComponentMap","as","components","toString","artifacts","filter","targetId","map","artifact","ArtifactList","fromArray","join","generate","defs","tupleArr","forEach","capsuleDir","push"],"sources":["artifact-factory.ts"],"sourcesContent":["import { join } from 'path';\nimport globby from 'globby';\nimport { flatten } from 'lodash';\nimport { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { Component, ComponentMap } from '@teambit/component';\nimport { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage';\nimport { ArtifactList } from './artifact-list';\nimport type { BuildContext, BuildTask } from '../build-task';\nimport { CapsuleNotFound } from '../exceptions';\nimport { FsArtifact } from './fs-artifact';\n\nexport const DEFAULT_CONTEXT = 'component';\n\nexport type ArtifactMap = ComponentMap<ArtifactList<FsArtifact>>;\n\nexport class ArtifactFactory {\n resolvePaths(root: string, def: ArtifactDefinition): string[] {\n const patternsFlattened = flatten(def.globPatterns);\n const paths = globby.sync(patternsFlattened, { cwd: root });\n return paths;\n }\n\n private getArtifactContextPath(context: BuildContext, component: Component, def: ArtifactDefinition) {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'component') {\n const capsulePath = context.capsuleNetwork.graphCapsules.getCapsule(component.id)?.path;\n if (!capsulePath) throw new CapsuleNotFound(component.id);\n return capsulePath;\n }\n\n return context.capsuleNetwork.capsulesRootDir;\n }\n\n private getArtifactContext(def: ArtifactDefinition) {\n return def.context || DEFAULT_CONTEXT;\n }\n\n createFromComponent(\n context: BuildContext,\n component: Component,\n def: ArtifactDefinition,\n task: BuildTask\n ): FsArtifact | undefined {\n const contextPath = this.getArtifactContextPath(context, component, def);\n const rootDir = this.getRootDir(contextPath, def);\n const paths = this.resolvePaths(rootDir, def);\n if (!paths || !paths.length) {\n return undefined;\n }\n return new FsArtifact(def, new ArtifactFiles(paths), task, rootDir);\n }\n\n private getStorageResolver(def: ArtifactDefinition) {\n return def.storageResolver || new DefaultResolver();\n }\n\n private toComponentMap(context: BuildContext, artifactMap: [string, FsArtifact][]) {\n return ComponentMap.as<ArtifactList<FsArtifact>>(context.components, (component) => {\n const id = component.id.toString();\n const artifacts = artifactMap.filter(([targetId]) => targetId === id).map(([, artifact]) => artifact);\n\n return ArtifactList.fromArray(artifacts);\n });\n }\n\n getRootDir(rootDir: string, def: ArtifactDefinition) {\n if (!def.rootDir) return rootDir;\n return join(rootDir, def.rootDir);\n }\n\n /**\n * generate artifacts from a build context according to the spec defined in the artifact definitions.\n */\n generate(context: BuildContext, defs: ArtifactDefinition[], task: BuildTask): ComponentMap<ArtifactList<FsArtifact>> {\n const tupleArr: [string, FsArtifact][] = [];\n\n defs.forEach((def) => {\n const artifactContext = this.getArtifactContext(def);\n if (artifactContext === 'env') {\n const capsuleDir = context.capsuleNetwork.capsulesRootDir;\n const rootDir = this.getRootDir(capsuleDir, def);\n const paths = this.resolvePaths(rootDir, def);\n if (paths && paths.length) {\n const artifact = new FsArtifact(def, new ArtifactFiles(this.resolvePaths(rootDir, def)), task, rootDir);\n\n return context.components.forEach((component) => {\n tupleArr.push([component.id.toString(), artifact]);\n });\n }\n }\n\n return context.components.forEach((component) => {\n const artifact = this.createFromComponent(context, component, def, task);\n if (artifact) {\n tupleArr.push([component.id.toString(), artifact]);\n }\n });\n });\n\n return this.toComponentMap(context, tupleArr);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,eAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,cAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,WAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,UAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,cAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,aAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,YAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,WAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,YAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,WAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA2C,SAAAG,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,eAAe,GAAG,WAAW;AAACC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAIpC,MAAME,eAAe,CAAC;EAC3BC,YAAYA,CAACC,IAAY,EAAEC,GAAuB,EAAY;IAC5D,MAAMC,iBAAiB,GAAG,IAAAC,iBAAO,EAACF,GAAG,CAACG,YAAY,CAAC;IACnD,MAAMC,KAAK,GAAGC,iBAAM,CAACC,IAAI,CAACL,iBAAiB,EAAE;MAAEM,GAAG,EAAER;IAAK,CAAC,CAAC;IAC3D,OAAOK,KAAK;EACd;EAEQI,sBAAsBA,CAACC,OAAqB,EAAEC,SAAoB,EAAEV,GAAuB,EAAE;IACnG,MAAMW,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACZ,GAAG,CAAC;IACpD,IAAIW,eAAe,KAAK,WAAW,EAAE;MAAA,IAAAE,qBAAA;MACnC,MAAMC,WAAW,IAAAD,qBAAA,GAAGJ,OAAO,CAACM,cAAc,CAACC,aAAa,CAACC,UAAU,CAACP,SAAS,CAACQ,EAAE,CAAC,cAAAL,qBAAA,uBAA7DA,qBAAA,CAA+DM,IAAI;MACvF,IAAI,CAACL,WAAW,EAAE,MAAM,KAAIM,6BAAe,EAACV,SAAS,CAACQ,EAAE,CAAC;MACzD,OAAOJ,WAAW;IACpB;IAEA,OAAOL,OAAO,CAACM,cAAc,CAACM,eAAe;EAC/C;EAEQT,kBAAkBA,CAACZ,GAAuB,EAAE;IAClD,OAAOA,GAAG,CAACS,OAAO,IAAId,eAAe;EACvC;EAEA2B,mBAAmBA,CACjBb,OAAqB,EACrBC,SAAoB,EACpBV,GAAuB,EACvBuB,IAAe,EACS;IACxB,MAAMC,WAAW,GAAG,IAAI,CAAChB,sBAAsB,CAACC,OAAO,EAAEC,SAAS,EAAEV,GAAG,CAAC;IACxE,MAAMyB,OAAO,GAAG,IAAI,CAACC,UAAU,CAACF,WAAW,EAAExB,GAAG,CAAC;IACjD,MAAMI,KAAK,GAAG,IAAI,CAACN,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC;IAC7C,IAAI,CAACI,KAAK,IAAI,CAACA,KAAK,CAACuB,MAAM,EAAE;MAC3B,OAAOC,SAAS;IAClB;IACA,OAAO,KAAIC,wBAAU,EAAC7B,GAAG,EAAE,KAAI8B,8BAAa,EAAC1B,KAAK,CAAC,EAAEmB,IAAI,EAAEE,OAAO,CAAC;EACrE;EAEQM,kBAAkBA,CAAC/B,GAAuB,EAAE;IAClD,OAAOA,GAAG,CAACgC,eAAe,IAAI,KAAIC,0BAAe,EAAC,CAAC;EACrD;EAEQC,cAAcA,CAACzB,OAAqB,EAAE0B,WAAmC,EAAE;IACjF,OAAOC,yBAAY,CAACC,EAAE,CAA2B5B,OAAO,CAAC6B,UAAU,EAAG5B,SAAS,IAAK;MAClF,MAAMQ,EAAE,GAAGR,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC;MAClC,MAAMC,SAAS,GAAGL,WAAW,CAACM,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,KAAKA,QAAQ,KAAKxB,EAAE,CAAC,CAACyB,GAAG,CAAC,CAAC,GAAGC,QAAQ,CAAC,KAAKA,QAAQ,CAAC;MAErG,OAAOC,4BAAY,CAACC,SAAS,CAACN,SAAS,CAAC;IAC1C,CAAC,CAAC;EACJ;EAEAd,UAAUA,CAACD,OAAe,EAAEzB,GAAuB,EAAE;IACnD,IAAI,CAACA,GAAG,CAACyB,OAAO,EAAE,OAAOA,OAAO;IAChC,OAAO,IAAAsB,YAAI,EAACtB,OAAO,EAAEzB,GAAG,CAACyB,OAAO,CAAC;EACnC;;EAEA;AACF;AACA;EACEuB,QAAQA,CAACvC,OAAqB,EAAEwC,IAA0B,EAAE1B,IAAe,EAA0C;IACnH,MAAM2B,QAAgC,GAAG,EAAE;IAE3CD,IAAI,CAACE,OAAO,CAAEnD,GAAG,IAAK;MACpB,MAAMW,eAAe,GAAG,IAAI,CAACC,kBAAkB,CAACZ,GAAG,CAAC;MACpD,IAAIW,eAAe,KAAK,KAAK,EAAE;QAC7B,MAAMyC,UAAU,GAAG3C,OAAO,CAACM,cAAc,CAACM,eAAe;QACzD,MAAMI,OAAO,GAAG,IAAI,CAACC,UAAU,CAAC0B,UAAU,EAAEpD,GAAG,CAAC;QAChD,MAAMI,KAAK,GAAG,IAAI,CAACN,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC;QAC7C,IAAII,KAAK,IAAIA,KAAK,CAACuB,MAAM,EAAE;UACzB,MAAMiB,QAAQ,GAAG,KAAIf,wBAAU,EAAC7B,GAAG,EAAE,KAAI8B,8BAAa,EAAC,IAAI,CAAChC,YAAY,CAAC2B,OAAO,EAAEzB,GAAG,CAAC,CAAC,EAAEuB,IAAI,EAAEE,OAAO,CAAC;UAEvG,OAAOhB,OAAO,CAAC6B,UAAU,CAACa,OAAO,CAAEzC,SAAS,IAAK;YAC/CwC,QAAQ,CAACG,IAAI,CAAC,CAAC3C,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAEK,QAAQ,CAAC,CAAC;UACpD,CAAC,CAAC;QACJ;MACF;MAEA,OAAOnC,OAAO,CAAC6B,UAAU,CAACa,OAAO,CAAEzC,SAAS,IAAK;QAC/C,MAAMkC,QAAQ,GAAG,IAAI,CAACtB,mBAAmB,CAACb,OAAO,EAAEC,SAAS,EAAEV,GAAG,EAAEuB,IAAI,CAAC;QACxE,IAAIqB,QAAQ,EAAE;UACZM,QAAQ,CAACG,IAAI,CAAC,CAAC3C,SAAS,CAACQ,EAAE,CAACqB,QAAQ,CAAC,CAAC,EAAEK,QAAQ,CAAC,CAAC;QACpD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,IAAI,CAACV,cAAc,CAACzB,OAAO,EAAEyC,QAAQ,CAAC;EAC/C;AACF;AAACtD,OAAA,CAAAC,eAAA,GAAAA,eAAA"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.flat.js");
|
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
require("core-js/modules/es.array.unscopables.flat.js");
|
|
7
|
-
require("core-js/modules/es.promise.js");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
@@ -30,6 +25,7 @@ function _storage() {
|
|
|
30
25
|
};
|
|
31
26
|
return data;
|
|
32
27
|
}
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
29
|
class ArtifactList extends Array {
|
|
34
30
|
byAspectNameAndName(aspectName, name) {
|
|
35
31
|
const filtered = this.filter(artifact => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_artifact","_storage","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":"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"}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_defaultResolver","data","require","Artifact","constructor","def","files","task","timestamp","Date","now","storage","storageResolver","name","DefaultResolver","description","generatedBy","aspectId","isEmpty","tar","toObject","id","fromArtifactObject","object","artifactDef","exports"],"sources":["artifact.ts"],"sourcesContent":["import type { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport type { TaskDescriptor } from '../build-task';\nimport type { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage/default-resolver';\n\nexport class Artifact {\n constructor(\n /**\n * definition of the artifact.\n */\n readonly def: ArtifactDefinition,\n\n readonly files: ArtifactFiles,\n /**\n * the declaring task.\n */\n readonly task: TaskDescriptor,\n /**\n * timestamp of the artifact creation.\n */\n readonly timestamp: number = Date.now()\n ) {}\n\n get storage() {\n return this.storageResolver.name;\n }\n\n get storageResolver() {\n return this.def.storageResolver || new DefaultResolver();\n }\n\n /**\n * name of the artifact.\n */\n get name(): string {\n return this.def.name;\n }\n\n /**\n * description of the artifact.\n */\n get description() {\n return this.def.description;\n }\n\n /**\n * aspect id (string) that generated the artifact\n */\n get generatedBy(): string {\n return this.def.generatedBy || this.task.aspectId;\n }\n\n isEmpty(): boolean {\n return this.files.isEmpty();\n }\n\n /**\n * archive all artifact files into a tar.\n */\n tar() {}\n\n toObject(): ArtifactObject {\n return {\n name: this.name,\n description: this.description,\n generatedBy: this.generatedBy,\n storage: this.storageResolver.name,\n task: {\n id: this.task.aspectId,\n name: this.task.name,\n },\n files: this.files,\n };\n }\n\n static fromArtifactObject(object: ArtifactObject): Artifact {\n const artifactDef: ArtifactDefinition = {\n name: object.name,\n generatedBy: object.generatedBy,\n description: object.description,\n };\n\n const task: TaskDescriptor = {\n aspectId: object.task.id,\n name: object.task.name,\n };\n\n return new Artifact(artifactDef, object.files, task);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_defaultResolver","data","require","Artifact","constructor","def","files","task","timestamp","Date","now","storage","storageResolver","name","DefaultResolver","description","generatedBy","aspectId","isEmpty","tar","toObject","id","fromArtifactObject","object","artifactDef","exports"],"sources":["artifact.ts"],"sourcesContent":["import type { ArtifactFiles, ArtifactObject } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport type { TaskDescriptor } from '../build-task';\nimport type { ArtifactDefinition } from './artifact-definition';\nimport { DefaultResolver } from '../storage/default-resolver';\n\nexport class Artifact {\n constructor(\n /**\n * definition of the artifact.\n */\n readonly def: ArtifactDefinition,\n\n readonly files: ArtifactFiles,\n /**\n * the declaring task.\n */\n readonly task: TaskDescriptor,\n /**\n * timestamp of the artifact creation.\n */\n readonly timestamp: number = Date.now()\n ) {}\n\n get storage() {\n return this.storageResolver.name;\n }\n\n get storageResolver() {\n return this.def.storageResolver || new DefaultResolver();\n }\n\n /**\n * name of the artifact.\n */\n get name(): string {\n return this.def.name;\n }\n\n /**\n * description of the artifact.\n */\n get description() {\n return this.def.description;\n }\n\n /**\n * aspect id (string) that generated the artifact\n */\n get generatedBy(): string {\n return this.def.generatedBy || this.task.aspectId;\n }\n\n isEmpty(): boolean {\n return this.files.isEmpty();\n }\n\n /**\n * archive all artifact files into a tar.\n */\n tar() {}\n\n toObject(): ArtifactObject {\n return {\n name: this.name,\n description: this.description,\n generatedBy: this.generatedBy,\n storage: this.storageResolver.name,\n task: {\n id: this.task.aspectId,\n name: this.task.name,\n },\n files: this.files,\n };\n }\n\n static fromArtifactObject(object: ArtifactObject): Artifact {\n const artifactDef: ArtifactDefinition = {\n name: object.name,\n generatedBy: object.generatedBy,\n description: object.description,\n };\n\n const task: TaskDescriptor = {\n aspectId: object.task.id,\n name: object.task.name,\n };\n\n return new Artifact(artifactDef, object.files, task);\n }\n}\n"],"mappings":";;;;;;AAGA,SAAAA,iBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,gBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,QAAQ,CAAC;EACpBC,WAAWA;EACT;AACJ;AACA;EACaC,GAAuB,EAEvBC,KAAoB;EAC7B;AACJ;AACA;EACaC,IAAoB;EAC7B;AACJ;AACA;EACaC,SAAiB,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EACvC;IAAA,KAXSL,GAAuB,GAAvBA,GAAuB;IAAA,KAEvBC,KAAoB,GAApBA,KAAoB;IAAA,KAIpBC,IAAoB,GAApBA,IAAoB;IAAA,KAIpBC,SAAiB,GAAjBA,SAAiB;EACzB;EAEH,IAAIG,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,eAAe,CAACC,IAAI;EAClC;EAEA,IAAID,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACP,GAAG,CAACO,eAAe,IAAI,KAAIE,kCAAe,EAAC,CAAC;EAC1D;;EAEA;AACF;AACA;EACE,IAAID,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACR,GAAG,CAACQ,IAAI;EACtB;;EAEA;AACF;AACA;EACE,IAAIE,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,GAAG,CAACU,WAAW;EAC7B;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACX,GAAG,CAACW,WAAW,IAAI,IAAI,CAACT,IAAI,CAACU,QAAQ;EACnD;EAEAC,OAAOA,CAAA,EAAY;IACjB,OAAO,IAAI,CAACZ,KAAK,CAACY,OAAO,CAAC,CAAC;EAC7B;;EAEA;AACF;AACA;EACEC,GAAGA,CAAA,EAAG,CAAC;EAEPC,QAAQA,CAAA,EAAmB;IACzB,OAAO;MACLP,IAAI,EAAE,IAAI,CAACA,IAAI;MACfE,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BL,OAAO,EAAE,IAAI,CAACC,eAAe,CAACC,IAAI;MAClCN,IAAI,EAAE;QACJc,EAAE,EAAE,IAAI,CAACd,IAAI,CAACU,QAAQ;QACtBJ,IAAI,EAAE,IAAI,CAACN,IAAI,CAACM;MAClB,CAAC;MACDP,KAAK,EAAE,IAAI,CAACA;IACd,CAAC;EACH;EAEA,OAAOgB,kBAAkBA,CAACC,MAAsB,EAAY;IAC1D,MAAMC,WAA+B,GAAG;MACtCX,IAAI,EAAEU,MAAM,CAACV,IAAI;MACjBG,WAAW,EAAEO,MAAM,CAACP,WAAW;MAC/BD,WAAW,EAAEQ,MAAM,CAACR;IACtB,CAAC;IAED,MAAMR,IAAoB,GAAG;MAC3BU,QAAQ,EAAEM,MAAM,CAAChB,IAAI,CAACc,EAAE;MACxBR,IAAI,EAAEU,MAAM,CAAChB,IAAI,CAACM;IACpB,CAAC;IAED,OAAO,IAAIV,QAAQ,CAACqB,WAAW,EAAED,MAAM,CAACjB,KAAK,EAAEC,IAAI,CAAC;EACtD;AACF;AAACkB,OAAA,CAAAtB,QAAA,GAAAA,QAAA"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
9
6
|
exports.ArtifactsCmd = void 0;
|
|
10
|
-
function _defineProperty2() {
|
|
11
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
_defineProperty2 = function () {
|
|
13
|
-
return data;
|
|
14
|
-
};
|
|
15
|
-
return data;
|
|
16
|
-
}
|
|
17
7
|
function _chalk() {
|
|
18
8
|
const data = _interopRequireDefault(require("chalk"));
|
|
19
9
|
_chalk = function () {
|
|
@@ -35,6 +25,10 @@ function _artifactExtractor() {
|
|
|
35
25
|
};
|
|
36
26
|
return data;
|
|
37
27
|
}
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
30
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
31
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
38
32
|
const INDENT_TITLE = ' '.repeat(2);
|
|
39
33
|
const INDENT_SUB_TITLE = ' '.repeat(4);
|
|
40
34
|
const INDENT_FILES = ' '.repeat(6);
|
|
@@ -42,20 +36,20 @@ class ArtifactsCmd {
|
|
|
42
36
|
constructor(builder, componentMain) {
|
|
43
37
|
this.builder = builder;
|
|
44
38
|
this.componentMain = componentMain;
|
|
45
|
-
(
|
|
46
|
-
(
|
|
47
|
-
(
|
|
39
|
+
_defineProperty(this, "name", 'artifacts <component-pattern>');
|
|
40
|
+
_defineProperty(this, "description", 'list and download component artifacts');
|
|
41
|
+
_defineProperty(this, "extendedDescription", `artifacts are created on isolated capsules during tag or snap commands.
|
|
48
42
|
example of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester
|
|
49
43
|
and a package.tgz file generated by pkg aspect.
|
|
50
44
|
`);
|
|
51
|
-
(
|
|
45
|
+
_defineProperty(this, "arguments", [{
|
|
52
46
|
name: 'component-pattern',
|
|
53
47
|
description: _constants().COMPONENT_PATTERN_HELP
|
|
54
48
|
}]);
|
|
55
|
-
(
|
|
56
|
-
(
|
|
57
|
-
(
|
|
58
|
-
(
|
|
49
|
+
_defineProperty(this, "alias", '');
|
|
50
|
+
_defineProperty(this, "group", 'development');
|
|
51
|
+
_defineProperty(this, "helpUrl", 'reference/components/component-artifacts');
|
|
52
|
+
_defineProperty(this, "options", [['', 'aspect <aspect-id>', 'show/download only artifacts generated by this aspect-id'], ['', 'task <task-id>', 'show/download only artifacts generated by this task-id'], ['', 'files <glob>', 'show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)'], ['', 'out-dir <string>', 'download the files to the specified dir']]);
|
|
59
53
|
}
|
|
60
54
|
async report([componentPattern], artifactsOpts) {
|
|
61
55
|
const artifactExtractor = new (_artifactExtractor().ArtifactExtractor)(this.componentMain, this.builder, componentPattern, artifactsOpts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_artifactExtractor","INDENT_TITLE","repeat","INDENT_SUB_TITLE","INDENT_FILES","ArtifactsCmd","constructor","builder","componentMain","
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_artifactExtractor","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","INDENT_TITLE","repeat","INDENT_SUB_TITLE","INDENT_FILES","ArtifactsCmd","constructor","builder","componentMain","name","description","COMPONENT_PATTERN_HELP","report","componentPattern","artifactsOpts","artifactExtractor","ArtifactExtractor","list","grouped","groupResultsByAspect","outputArtifacts","aspectId","artifactData","title","chalk","green","artifactDataStr","map","artifact","subTitle","white","taskName","artifactName","files","f","dim","join","outputResult","result","idStr","cyan","id","toString","artifacts","keys","footer","outDir","exports"],"sources":["artifacts.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { ComponentMain } from '@teambit/component';\nimport { BuilderMain } from '../builder.main.runtime';\nimport { ArtifactExtractor, ExtractorArtifactResult, ExtractorResultGrouped } from './artifact-extractor';\n\nconst INDENT_TITLE = ' '.repeat(2);\nconst INDENT_SUB_TITLE = ' '.repeat(4);\nconst INDENT_FILES = ' '.repeat(6);\n\nexport type ArtifactsOpts = {\n aspect?: string;\n task?: string;\n files?: string;\n outDir?: string;\n};\n\nexport class ArtifactsCmd implements Command {\n name = 'artifacts <component-pattern>';\n description = 'list and download component artifacts';\n extendedDescription = `artifacts are created on isolated capsules during tag or snap commands.\nexample of artifacts are dists files generated by a compiler, a JUnit.xml file generated by a tester\nand a package.tgz file generated by pkg aspect.\n`;\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n alias = '';\n group = 'development';\n helpUrl = 'reference/components/component-artifacts';\n options = [\n ['', 'aspect <aspect-id>', 'show/download only artifacts generated by this aspect-id'],\n ['', 'task <task-id>', 'show/download only artifacts generated by this task-id'],\n [\n '',\n 'files <glob>',\n 'show/download only artifacts matching the given files or the glob pattern (wrap glob patterns in quotes)',\n ],\n ['', 'out-dir <string>', 'download the files to the specified dir'],\n ] as CommandOptions;\n\n constructor(private builder: BuilderMain, private componentMain: ComponentMain) {}\n\n async report([componentPattern]: [string], artifactsOpts: ArtifactsOpts): Promise<string> {\n const artifactExtractor = new ArtifactExtractor(this.componentMain, this.builder, componentPattern, artifactsOpts);\n const list = await artifactExtractor.list();\n const grouped = artifactExtractor.groupResultsByAspect(list);\n const outputArtifacts = (aspectId: string, artifactData: ExtractorArtifactResult[]) => {\n const title = chalk.green(aspectId);\n const artifactDataStr = artifactData\n .map((artifact) => {\n const subTitle = chalk.white(`${artifact.taskName} (${artifact.artifactName})`);\n const files = artifact.files.map((f) => INDENT_FILES + chalk.dim(f)).join('\\n');\n return `${INDENT_SUB_TITLE}${subTitle}\\n${files}`;\n })\n .join('\\n');\n return `${INDENT_TITLE}${title}\\n${artifactDataStr}`;\n };\n const outputResult = (result: ExtractorResultGrouped) => {\n const idStr = chalk.cyan(result.id.toString());\n const artifacts = Object.keys(result.artifacts)\n .map((aspectId) => outputArtifacts(aspectId, result.artifacts[aspectId]))\n .join('\\n\\n');\n return `${idStr}\\n${artifacts}`;\n };\n const footer = artifactsOpts.outDir\n ? chalk.green('\\n\\nThe above files were saved successfully to the file system')\n : '';\n return grouped.map(outputResult).join('\\n\\n') + footer;\n }\n}\n"],"mappings":"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"}
|
package/dist/build-pipe.js
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.symbol.description.js");
|
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
require("core-js/modules/es.promise.js");
|
|
7
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
11
6
|
exports.BuildPipe = void 0;
|
|
12
|
-
function _defineProperty2() {
|
|
13
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
_defineProperty2 = function () {
|
|
15
|
-
return data;
|
|
16
|
-
};
|
|
17
|
-
return data;
|
|
18
|
-
}
|
|
19
7
|
function _component() {
|
|
20
8
|
const data = require("@teambit/component");
|
|
21
9
|
_component = function () {
|
|
@@ -65,6 +53,10 @@ function _taskResultsList() {
|
|
|
65
53
|
};
|
|
66
54
|
return data;
|
|
67
55
|
}
|
|
56
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
57
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
58
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
59
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
68
60
|
class BuildPipe {
|
|
69
61
|
constructor(
|
|
70
62
|
/**
|
|
@@ -77,10 +69,10 @@ class BuildPipe {
|
|
|
77
69
|
this.artifactFactory = artifactFactory;
|
|
78
70
|
this.previousTaskResults = previousTaskResults;
|
|
79
71
|
this.options = options;
|
|
80
|
-
(
|
|
81
|
-
(
|
|
82
|
-
(
|
|
83
|
-
(
|
|
72
|
+
_defineProperty(this, "failedTasks", []);
|
|
73
|
+
_defineProperty(this, "failedDependencyTask", void 0);
|
|
74
|
+
_defineProperty(this, "longProcessLogger", void 0);
|
|
75
|
+
_defineProperty(this, "taskResults", []);
|
|
84
76
|
}
|
|
85
77
|
get allTasksResults() {
|
|
86
78
|
return [...(this.previousTaskResults || []), ...(this.taskResults || [])];
|
package/dist/build-pipe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_prettyTime","_toolboxString","_chalk","_buildTask","_taskResultsList","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","_defineProperty2","default","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","_this$options","taskId","BuildTaskHelper","serializeId","envName","showEnvNameInOutput","getPrettyEnvName","taskLogPrefix","getPrettyAspectName","aspectId","name","logProgress","description","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","_c$errors","errors","artifacts","duration","prettyTime","chalk","red","getProgress","failedTasks","push","consoleSuccess","green","defs","generate","startTime","resolvedId","ComponentID","fromString","tokens","split","map","token","capitalize","join","envId","_this$options2","ver","showEnvVersionInOutput","version","fullName","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","deserializeIdAllowEmptyName","find","failedTask","_this$options3","exitOnFirstFailedTask","failedTaskId","consoleWarning","Error","previousTasksResults","exports"],"sources":["build-pipe.ts"],"sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap, ComponentID } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport chalk from 'chalk';\nimport { ArtifactFactory, ArtifactList, FsArtifact } from './artifact';\nimport { BuildContext, BuildTask, BuildTaskHelper, BuiltTaskResult } from './build-task';\nimport { ComponentResult } from './types';\nimport { TasksQueue } from './tasks-queue';\nimport { EnvsBuildContext } from './builder.service';\nimport { TaskResultsList } from './task-results-list';\n\nexport type TaskResults = {\n /**\n * task itself. useful for getting its id/description later on.\n */\n task: BuildTask;\n\n /**\n * environment were the task was running\n */\n env: EnvDefinition;\n\n /**\n * component build results.\n */\n componentsResults: ComponentResult[];\n\n /**\n * artifacts generated by the build pipeline.\n * in case the task finished with errors, this prop is undefined.\n */\n artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n\n /**\n * timestamp of start initiation.\n */\n startTime: number;\n\n /**\n * timestamp of task completion.\n */\n endTime: number;\n};\n\ntype PipeOptions = {\n exitOnFirstFailedTask?: boolean; // by default it skips only when a dependent failed.\n showEnvNameInOutput?: boolean;\n showEnvVersionInOutput?: boolean; // in case it shows the env-name, whether should show also the version\n};\n\nexport class BuildPipe {\n private failedTasks: BuildTask[] = [];\n private failedDependencyTask: BuildTask | undefined;\n private longProcessLogger: LongProcessLogger;\n private taskResults: TaskResults[] = [];\n constructor(\n /**\n * array of services to apply on the components.\n */\n readonly tasksQueue: TasksQueue,\n readonly envsBuildContext: EnvsBuildContext,\n readonly logger: Logger,\n readonly artifactFactory: ArtifactFactory,\n private previousTaskResults?: TaskResults[],\n private options?: PipeOptions\n ) {}\n\n get allTasksResults(): TaskResults[] {\n return [...(this.previousTaskResults || []), ...(this.taskResults || [])];\n }\n\n /**\n * execute a pipeline of build tasks.\n */\n async execute(): Promise<TaskResultsList> {\n this.addSignalListener();\n await this.executePreBuild();\n this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);\n await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));\n this.longProcessLogger.end();\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults);\n await this.executePostBuild(tasksResultsList);\n\n return tasksResultsList;\n }\n\n /**\n * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.\n */\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n private async executePreBuild() {\n this.logger.setStatusLine('executing pre-build for all tasks');\n const longProcessLogger = this.logger.createLongProcessLogger('running pre-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.preBuild) return;\n await task.preBuild(this.getBuildContext(env.id));\n });\n longProcessLogger.end();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const envName = this.options?.showEnvNameInOutput ? `(${this.getPrettyEnvName(env.id)}) ` : '';\n const taskLogPrefix = `${envName}[${this.getPrettyAspectName(task.aspectId)}: ${task.name}]`;\n this.longProcessLogger.logProgress(`${taskLogPrefix}${task.description ? ` ${task.description}` : ''}`, false);\n this.updateFailedDependencyTask(task);\n if (this.shouldSkipTask(taskId, env.id)) {\n return;\n }\n const startTask = process.hrtime();\n const taskStartTime = Date.now();\n const buildContext = this.getBuildContext(env.id);\n let buildTaskResult: BuiltTaskResult;\n try {\n buildTaskResult = await task.execute(buildContext);\n } catch (err) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" threw an error`);\n throw err;\n }\n\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n const duration = prettyTime(process.hrtime(startTask));\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.logger.consoleFailure(\n chalk.red(`${this.longProcessLogger.getProgress()} env: ${env.id}, task \"${taskId}\" has failed in ${duration}`)\n );\n this.failedTasks.push(task);\n } else {\n this.logger.consoleSuccess(\n chalk.green(`${this.longProcessLogger.getProgress()} ${taskLogPrefix} Completed successfully in ${duration}`)\n );\n const defs = buildTaskResult.artifacts || [];\n artifacts = this.artifactFactory.generate(buildContext, defs, task);\n }\n\n const taskResults: TaskResults = {\n task,\n env,\n componentsResults: buildTaskResult.componentsResults,\n artifacts,\n startTime: taskStartTime,\n endTime,\n };\n\n this.taskResults.push(taskResults);\n }\n\n private getPrettyAspectName(aspectId: string): string {\n const resolvedId = ComponentID.fromString(aspectId);\n const tokens = resolvedId.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n private getPrettyEnvName(envId: string) {\n const resolvedId = ComponentID.fromString(envId);\n const ver = this.options?.showEnvVersionInOutput ? `@${resolvedId.version}` : '';\n return `${resolvedId.fullName}${ver}`;\n }\n\n private async executePostBuild(tasksResults: TaskResultsList) {\n const longProcessLogger = this.logger.createLongProcessLogger('running post-build for all tasks');\n this.logger.setStatusLine('executing post-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.postBuild) return;\n await task.postBuild(this.getBuildContext(env.id), tasksResults);\n });\n longProcessLogger.end();\n }\n\n private updateFailedDependencyTask(task: BuildTask) {\n if (!this.failedDependencyTask && this.failedTasks.length && task.dependencies) {\n task.dependencies.forEach((dependency) => {\n const { aspectId, name } = BuildTaskHelper.deserializeIdAllowEmptyName(dependency);\n this.failedDependencyTask = this.failedTasks.find((failedTask) => {\n if (name && name !== failedTask.name) return false;\n return aspectId === failedTask.aspectId;\n });\n });\n }\n }\n\n private shouldSkipTask(taskId: string, envId: string): boolean {\n if (this.options?.exitOnFirstFailedTask && this.failedTasks.length) {\n const failedTaskId = BuildTaskHelper.serializeId(this.failedTasks[0]);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n if (!this.failedDependencyTask) return false;\n const failedTaskId = BuildTaskHelper.serializeId(this.failedDependencyTask);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n\n private getBuildContext(envId: string): BuildContext {\n const buildContext = this.envsBuildContext[envId];\n if (!buildContext) throw new Error(`unable to find buildContext for ${envId}`);\n buildContext.previousTasksResults = this.allTasksResults;\n return buildContext;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_component","data","require","_pMapSeries","_interopRequireDefault","_prettyTime","_toolboxString","_chalk","_buildTask","_taskResultsList","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","BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","options","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","mapSeries","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","_this$options","taskId","BuildTaskHelper","serializeId","envName","showEnvNameInOutput","getPrettyEnvName","taskLogPrefix","getPrettyAspectName","aspectId","name","logProgress","description","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","err","consoleFailure","endTime","compsWithErrors","componentsResults","filter","c","_c$errors","errors","artifacts","duration","prettyTime","chalk","red","getProgress","failedTasks","push","consoleSuccess","green","defs","generate","startTime","resolvedId","ComponentID","fromString","tokens","split","map","token","capitalize","join","envId","_this$options2","ver","showEnvVersionInOutput","version","fullName","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","deserializeIdAllowEmptyName","find","failedTask","_this$options3","exitOnFirstFailedTask","failedTaskId","consoleWarning","Error","previousTasksResults","exports"],"sources":["build-pipe.ts"],"sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap, ComponentID } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { capitalize } from '@teambit/toolbox.string.capitalize';\nimport chalk from 'chalk';\nimport { ArtifactFactory, ArtifactList, FsArtifact } from './artifact';\nimport { BuildContext, BuildTask, BuildTaskHelper, BuiltTaskResult } from './build-task';\nimport { ComponentResult } from './types';\nimport { TasksQueue } from './tasks-queue';\nimport { EnvsBuildContext } from './builder.service';\nimport { TaskResultsList } from './task-results-list';\n\nexport type TaskResults = {\n /**\n * task itself. useful for getting its id/description later on.\n */\n task: BuildTask;\n\n /**\n * environment were the task was running\n */\n env: EnvDefinition;\n\n /**\n * component build results.\n */\n componentsResults: ComponentResult[];\n\n /**\n * artifacts generated by the build pipeline.\n * in case the task finished with errors, this prop is undefined.\n */\n artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n\n /**\n * timestamp of start initiation.\n */\n startTime: number;\n\n /**\n * timestamp of task completion.\n */\n endTime: number;\n};\n\ntype PipeOptions = {\n exitOnFirstFailedTask?: boolean; // by default it skips only when a dependent failed.\n showEnvNameInOutput?: boolean;\n showEnvVersionInOutput?: boolean; // in case it shows the env-name, whether should show also the version\n};\n\nexport class BuildPipe {\n private failedTasks: BuildTask[] = [];\n private failedDependencyTask: BuildTask | undefined;\n private longProcessLogger: LongProcessLogger;\n private taskResults: TaskResults[] = [];\n constructor(\n /**\n * array of services to apply on the components.\n */\n readonly tasksQueue: TasksQueue,\n readonly envsBuildContext: EnvsBuildContext,\n readonly logger: Logger,\n readonly artifactFactory: ArtifactFactory,\n private previousTaskResults?: TaskResults[],\n private options?: PipeOptions\n ) {}\n\n get allTasksResults(): TaskResults[] {\n return [...(this.previousTaskResults || []), ...(this.taskResults || [])];\n }\n\n /**\n * execute a pipeline of build tasks.\n */\n async execute(): Promise<TaskResultsList> {\n this.addSignalListener();\n await this.executePreBuild();\n this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);\n await mapSeries(this.tasksQueue, async ({ task, env }) => this.executeTask(task, env));\n this.longProcessLogger.end();\n const tasksResultsList = new TaskResultsList(this.tasksQueue, this.taskResults);\n await this.executePostBuild(tasksResultsList);\n\n return tasksResultsList;\n }\n\n /**\n * for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.\n */\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n\n private async executePreBuild() {\n this.logger.setStatusLine('executing pre-build for all tasks');\n const longProcessLogger = this.logger.createLongProcessLogger('running pre-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.preBuild) return;\n await task.preBuild(this.getBuildContext(env.id));\n });\n longProcessLogger.end();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const envName = this.options?.showEnvNameInOutput ? `(${this.getPrettyEnvName(env.id)}) ` : '';\n const taskLogPrefix = `${envName}[${this.getPrettyAspectName(task.aspectId)}: ${task.name}]`;\n this.longProcessLogger.logProgress(`${taskLogPrefix}${task.description ? ` ${task.description}` : ''}`, false);\n this.updateFailedDependencyTask(task);\n if (this.shouldSkipTask(taskId, env.id)) {\n return;\n }\n const startTask = process.hrtime();\n const taskStartTime = Date.now();\n const buildContext = this.getBuildContext(env.id);\n let buildTaskResult: BuiltTaskResult;\n try {\n buildTaskResult = await task.execute(buildContext);\n } catch (err) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" threw an error`);\n throw err;\n }\n\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts: ComponentMap<ArtifactList<FsArtifact>> | undefined;\n const duration = prettyTime(process.hrtime(startTask));\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.logger.consoleFailure(\n chalk.red(`${this.longProcessLogger.getProgress()} env: ${env.id}, task \"${taskId}\" has failed in ${duration}`)\n );\n this.failedTasks.push(task);\n } else {\n this.logger.consoleSuccess(\n chalk.green(`${this.longProcessLogger.getProgress()} ${taskLogPrefix} Completed successfully in ${duration}`)\n );\n const defs = buildTaskResult.artifacts || [];\n artifacts = this.artifactFactory.generate(buildContext, defs, task);\n }\n\n const taskResults: TaskResults = {\n task,\n env,\n componentsResults: buildTaskResult.componentsResults,\n artifacts,\n startTime: taskStartTime,\n endTime,\n };\n\n this.taskResults.push(taskResults);\n }\n\n private getPrettyAspectName(aspectId: string): string {\n const resolvedId = ComponentID.fromString(aspectId);\n const tokens = resolvedId.name.split('-').map((token) => capitalize(token));\n return tokens.join(' ');\n }\n\n private getPrettyEnvName(envId: string) {\n const resolvedId = ComponentID.fromString(envId);\n const ver = this.options?.showEnvVersionInOutput ? `@${resolvedId.version}` : '';\n return `${resolvedId.fullName}${ver}`;\n }\n\n private async executePostBuild(tasksResults: TaskResultsList) {\n const longProcessLogger = this.logger.createLongProcessLogger('running post-build for all tasks');\n this.logger.setStatusLine('executing post-build for all tasks');\n await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.postBuild) return;\n await task.postBuild(this.getBuildContext(env.id), tasksResults);\n });\n longProcessLogger.end();\n }\n\n private updateFailedDependencyTask(task: BuildTask) {\n if (!this.failedDependencyTask && this.failedTasks.length && task.dependencies) {\n task.dependencies.forEach((dependency) => {\n const { aspectId, name } = BuildTaskHelper.deserializeIdAllowEmptyName(dependency);\n this.failedDependencyTask = this.failedTasks.find((failedTask) => {\n if (name && name !== failedTask.name) return false;\n return aspectId === failedTask.aspectId;\n });\n });\n }\n }\n\n private shouldSkipTask(taskId: string, envId: string): boolean {\n if (this.options?.exitOnFirstFailedTask && this.failedTasks.length) {\n const failedTaskId = BuildTaskHelper.serializeId(this.failedTasks[0]);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n if (!this.failedDependencyTask) return false;\n const failedTaskId = BuildTaskHelper.serializeId(this.failedDependencyTask);\n this.logger.consoleWarning(`env: ${envId}, task \"${taskId}\" has skipped due to \"${failedTaskId}\" failure`);\n return true;\n }\n\n private getBuildContext(envId: string): BuildContext {\n const buildContext = this.envsBuildContext[envId];\n if (!buildContext) throw new Error(`unable to find buildContext for ${envId}`);\n buildContext.previousTasksResults = this.allTasksResults;\n return buildContext;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.flat.js");
|
|
5
|
-
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
require("core-js/modules/es.array.unscopables.flat.js");
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
@@ -36,6 +32,7 @@ function _tasksQueue() {
|
|
|
36
32
|
};
|
|
37
33
|
return data;
|
|
38
34
|
}
|
|
35
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
39
36
|
/**
|
|
40
37
|
* there are two ways how to add tasks to build pipeline.
|
|
41
38
|
* 1. `getBuildPipe()` method of the env.
|