@teambit/builder 0.0.881 → 0.0.883

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.
Files changed (74) hide show
  1. package/dist/artifact/artifact-extractor.js +6 -47
  2. package/dist/artifact/artifact-extractor.js.map +1 -1
  3. package/dist/artifact/artifact-factory.js +1 -52
  4. package/dist/artifact/artifact-factory.js.map +1 -1
  5. package/dist/artifact/artifact-list.js +6 -43
  6. package/dist/artifact/artifact-list.js.map +1 -1
  7. package/dist/artifact/artifact.js +4 -20
  8. package/dist/artifact/artifact.js.map +1 -1
  9. package/dist/artifact/artifacts.cmd.js +0 -29
  10. package/dist/artifact/artifacts.cmd.js.map +1 -1
  11. package/dist/artifact/extension-artifact.js +0 -4
  12. package/dist/artifact/extension-artifact.js.map +1 -1
  13. package/dist/artifact/fs-artifact.js +0 -6
  14. package/dist/artifact/fs-artifact.js.map +1 -1
  15. package/dist/artifact/index.js +0 -18
  16. package/dist/artifact/index.js.map +1 -1
  17. package/dist/build-pipe.js +2 -44
  18. package/dist/build-pipe.js.map +1 -1
  19. package/dist/build-pipeline-order.js +7 -44
  20. package/dist/build-pipeline-order.js.map +1 -1
  21. package/dist/build-pipeline-result-list.js +2 -35
  22. package/dist/build-pipeline-result-list.js.map +1 -1
  23. package/dist/build-task.js +1 -9
  24. package/dist/build-task.js.map +1 -1
  25. package/dist/build.cmd.js +0 -27
  26. package/dist/build.cmd.js.map +1 -1
  27. package/dist/builder.aspect.js +0 -5
  28. package/dist/builder.aspect.js.map +1 -1
  29. package/dist/builder.composition.js +0 -6
  30. package/dist/builder.composition.js.map +1 -1
  31. package/dist/builder.graphql.js +0 -19
  32. package/dist/builder.graphql.js.map +1 -1
  33. package/dist/builder.main.runtime.js +8 -137
  34. package/dist/builder.main.runtime.js.map +1 -1
  35. package/dist/builder.route.js +3 -27
  36. package/dist/builder.route.js.map +1 -1
  37. package/dist/builder.service.js +1 -37
  38. package/dist/builder.service.js.map +1 -1
  39. package/dist/exceptions/artifact-definition-no-glob.js +0 -3
  40. package/dist/exceptions/artifact-definition-no-glob.js.map +1 -1
  41. package/dist/exceptions/artifact-storage-error.js +0 -3
  42. package/dist/exceptions/artifact-storage-error.js.map +1 -1
  43. package/dist/exceptions/capsule-not-found.js +0 -3
  44. package/dist/exceptions/capsule-not-found.js.map +1 -1
  45. package/dist/exceptions/index.js +0 -9
  46. package/dist/exceptions/index.js.map +1 -1
  47. package/dist/exceptions/invalid-task.js +0 -6
  48. package/dist/exceptions/invalid-task.js.map +1 -1
  49. package/dist/index.js +0 -24
  50. package/dist/index.js.map +1 -1
  51. package/dist/pipeline/index.js +0 -3
  52. package/dist/pipeline/index.js.map +1 -1
  53. package/dist/pipeline/pipeline-results.js +0 -2
  54. package/dist/pipeline/pipeline-results.js.map +1 -1
  55. package/dist/storage/default-resolver.js +0 -9
  56. package/dist/storage/default-resolver.js.map +1 -1
  57. package/dist/storage/index.js +0 -6
  58. package/dist/storage/index.js.map +1 -1
  59. package/dist/storage/s3-resolver.js +4 -0
  60. package/dist/storage/s3-resolver.js.map +1 -1
  61. package/dist/task-results-list.js +1 -23
  62. package/dist/task-results-list.js.map +1 -1
  63. package/dist/tasks-queue.js +0 -14
  64. package/dist/tasks-queue.js.map +1 -1
  65. package/dist/templates/build-task/files/index-file.js +0 -1
  66. package/dist/templates/build-task/files/index-file.js.map +1 -1
  67. package/dist/templates/build-task/files/task-file.js +0 -1
  68. package/dist/templates/build-task/files/task-file.js.map +1 -1
  69. package/dist/templates/build-task/index.js +0 -7
  70. package/dist/templates/build-task/index.js.map +1 -1
  71. package/package-tar/teambit-builder-0.0.883.tgz +0 -0
  72. package/package.json +11 -11
  73. package/{preview-1666409808293.js → preview-1666582798766.js} +2 -2
  74. package/package-tar/teambit-builder-0.0.881.tgz +0 -0
@@ -1,103 +1,79 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.array.flat.js");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.array.unscopables.flat.js");
8
-
9
6
  require("core-js/modules/es.promise.js");
10
-
11
7
  Object.defineProperty(exports, "__esModule", {
12
8
  value: true
13
9
  });
14
10
  exports.ArtifactList = void 0;
15
-
16
11
  function _artifact() {
17
12
  const data = require("./artifact");
18
-
19
13
  _artifact = function () {
20
14
  return data;
21
15
  };
22
-
23
16
  return data;
24
17
  }
25
-
26
18
  function _storage() {
27
19
  const data = require("../storage");
28
-
29
20
  _storage = function () {
30
21
  return data;
31
22
  };
32
-
33
23
  return data;
34
24
  }
35
-
36
25
  class ArtifactList extends Array {
37
26
  byAspectNameAndName(aspectName, name) {
38
27
  const filtered = this.filter(artifact => {
39
28
  let cond = true;
40
-
41
29
  if (aspectName) {
42
30
  cond = cond && artifact.task.aspectId === aspectName;
43
31
  }
44
-
45
32
  if (name) {
46
33
  cond = cond && artifact.name === name;
47
34
  }
48
-
49
35
  return cond;
50
36
  });
51
37
  return ArtifactList.fromArray(filtered);
52
38
  }
53
-
54
39
  byAspectNameAndTaskName(aspectName, name) {
55
40
  const filtered = this.filter(artifact => {
56
41
  let cond = true;
57
-
58
42
  if (aspectName) {
59
43
  cond = cond && artifact.task.aspectId === aspectName;
60
44
  }
61
-
62
45
  if (name) {
63
46
  cond = cond && artifact.task.name === name;
64
47
  }
65
-
66
48
  return cond;
67
49
  });
68
50
  return ArtifactList.fromArray(filtered);
69
51
  }
70
-
71
52
  isEmpty() {
72
53
  return this.every(artifact => artifact.files.isEmpty());
73
54
  }
55
+
74
56
  /**
75
57
  * group artifacts by the storage resolver.
76
58
  */
77
-
78
-
79
59
  groupByResolver() {
80
60
  const resolverMap = {};
81
61
  this.forEach(artifact => {
82
62
  const storageResolver = artifact.storageResolver;
83
63
  const resolverArray = resolverMap[storageResolver.name];
84
-
85
64
  if (!resolverArray) {
86
65
  resolverMap[storageResolver.name] = [artifact];
87
66
  return;
88
67
  }
89
-
90
68
  if (resolverArray.length) {
91
69
  resolverMap[storageResolver.name].push(artifact);
92
70
  }
93
71
  });
94
72
  return resolverMap;
95
73
  }
96
-
97
74
  toObject() {
98
75
  return this.map(artifact => artifact.toObject());
99
76
  }
100
-
101
77
  groupByTaskId() {
102
78
  return this.reduce((acc, artifact) => {
103
79
  const taskId = artifact.task.aspectId;
@@ -105,17 +81,15 @@ class ArtifactList extends Array {
105
81
  return acc;
106
82
  }, {});
107
83
  }
108
-
109
84
  async getVinylsAndImportIfMissing(id, scope) {
110
85
  if (this.isEmpty()) return [];
111
86
  const vinyls = await Promise.all(this.map(artifact => artifact.files.getVinylsAndImportIfMissing(id, scope)));
112
87
  return vinyls.flat();
113
88
  }
89
+
114
90
  /**
115
91
  * store all artifacts using the configured storage resolvers.
116
92
  */
117
-
118
-
119
93
  async store(component) {
120
94
  const byResolvers = this.groupByResolver();
121
95
  const promises = Object.keys(byResolvers).map(async key => {
@@ -130,70 +104,59 @@ class ArtifactList extends Array {
130
104
  });
131
105
  return Promise.all(promises);
132
106
  }
133
-
134
107
  async storeArtifact(storageResolver, artifact, component) {
135
108
  // For now we are always storing also using the default resolver
136
109
  if (storageResolver.name !== 'default') {
137
110
  const defaultResolver = new (_storage().DefaultResolver)();
138
111
  await defaultResolver.store(component, artifact);
139
- } // @ts-ignore
140
-
141
-
112
+ }
113
+ // @ts-ignore
142
114
  if (storageResolver.store && typeof storageResolver.store === 'function') {
143
115
  return this.storeWholeArtifactByResolver(storageResolver, artifact, component);
144
116
  }
145
-
146
117
  return this.storeArtifactFilesByResolver(storageResolver, artifact, component);
147
118
  }
119
+
148
120
  /**
149
121
  * Send the entire artifact to the resolver then get back the result for all files from the resolver
150
122
  * @param storageResolver
151
123
  * @param artifact
152
124
  * @param component
153
125
  */
154
-
155
-
156
126
  async storeWholeArtifactByResolver(storageResolver, artifact, component) {
157
127
  const results = await storageResolver.store(component, artifact);
158
128
  if (!results) return;
159
129
  artifact.files.vinyls.map(async file => {
160
130
  const url = results[file.relative];
161
-
162
131
  if (url) {
163
132
  file.url = url;
164
133
  }
165
134
  });
166
135
  }
136
+
167
137
  /**
168
138
  * Go over the artifact files and send them to the resolver one by one
169
139
  * @param storageResolver
170
140
  * @param artifact
171
141
  * @param component
172
142
  */
173
-
174
-
175
143
  storeArtifactFilesByResolver(storageResolver, artifact, component) {
176
144
  const promises = artifact.files.vinyls.map(async file => {
177
145
  const url = await storageResolver.storeFile(component, artifact, file);
178
-
179
146
  if (url) {
180
147
  file.url = url;
181
148
  }
182
149
  });
183
150
  return Promise.all(promises);
184
151
  }
185
-
186
152
  static fromArtifactObjects(artifactObjects) {
187
153
  const artifacts = artifactObjects.map(object => _artifact().Artifact.fromArtifactObject(object));
188
154
  return ArtifactList.fromArray(artifacts);
189
155
  }
190
-
191
156
  static fromArray(artifacts) {
192
157
  return new ArtifactList(...artifacts);
193
158
  }
194
-
195
159
  }
196
-
197
160
  exports.ArtifactList = ArtifactList;
198
161
 
199
162
  //# sourceMappingURL=artifact-list.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["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","Promise","all","flat","store","component","byResolvers","promises","Object","keys","key","artifacts","artifactList","artifactPromises","storeArtifact","defaultResolver","DefaultResolver","storeWholeArtifactByResolver","storeArtifactFilesByResolver","results","file","url","relative","storeFile","fromArtifactObjects","artifactObjects","object","Artifact","fromArtifactObject"],"sources":["artifact-list.ts"],"sourcesContent":["import { Component } from '@teambit/component';\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 Promise.all(this.map((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":["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","Promise","all","flat","store","component","byResolvers","promises","Object","keys","key","artifacts","artifactList","artifactPromises","storeArtifact","defaultResolver","DefaultResolver","storeWholeArtifactByResolver","storeArtifactFilesByResolver","results","file","url","relative","storeFile","fromArtifactObjects","artifactObjects","object","Artifact","fromArtifactObject"],"sources":["artifact-list.ts"],"sourcesContent":["import { Component } from '@teambit/component';\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 Promise.all(this.map((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,22 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.symbol.description.js");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Artifact = void 0;
9
-
10
8
  function _defaultResolver() {
11
9
  const data = require("../storage/default-resolver");
12
-
13
10
  _defaultResolver = function () {
14
11
  return data;
15
12
  };
16
-
17
13
  return data;
18
14
  }
19
-
20
15
  class Artifact {
21
16
  constructor(
22
17
  /**
@@ -36,49 +31,41 @@ class Artifact {
36
31
  this.task = task;
37
32
  this.timestamp = timestamp;
38
33
  }
39
-
40
34
  get storage() {
41
35
  return this.storageResolver.name;
42
36
  }
43
-
44
37
  get storageResolver() {
45
38
  return this.def.storageResolver || new (_defaultResolver().DefaultResolver)();
46
39
  }
40
+
47
41
  /**
48
42
  * name of the artifact.
49
43
  */
50
-
51
-
52
44
  get name() {
53
45
  return this.def.name;
54
46
  }
47
+
55
48
  /**
56
49
  * description of the artifact.
57
50
  */
58
-
59
-
60
51
  get description() {
61
52
  return this.def.description;
62
53
  }
54
+
63
55
  /**
64
56
  * aspect id (string) that generated the artifact
65
57
  */
66
-
67
-
68
58
  get generatedBy() {
69
59
  return this.def.generatedBy || this.task.aspectId;
70
60
  }
71
-
72
61
  isEmpty() {
73
62
  return this.files.isEmpty();
74
63
  }
64
+
75
65
  /**
76
66
  * archive all artifact files into a tar.
77
67
  */
78
-
79
-
80
68
  tar() {}
81
-
82
69
  toObject() {
83
70
  return {
84
71
  name: this.name,
@@ -92,7 +79,6 @@ class Artifact {
92
79
  files: this.files
93
80
  };
94
81
  }
95
-
96
82
  static fromArtifactObject(object) {
97
83
  const artifactDef = {
98
84
  name: object.name,
@@ -105,9 +91,7 @@ class Artifact {
105
91
  };
106
92
  return new Artifact(artifactDef, object.files, task);
107
93
  }
108
-
109
94
  }
110
-
111
95
  exports.Artifact = Artifact;
112
96
 
113
97
  //# sourceMappingURL=artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Artifact","constructor","def","files","task","timestamp","Date","now","storage","storageResolver","name","DefaultResolver","description","generatedBy","aspectId","isEmpty","tar","toObject","id","fromArtifactObject","object","artifactDef"],"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;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAEO,MAAMA,QAAN,CAAe;EACpBC,WAAW;EACT;AACJ;AACA;EACaC,GAJA,EAMAC,KANA;EAOT;AACJ;AACA;EACaC,IAVA;EAWT;AACJ;AACA;EACaC,SAAiB,GAAGC,IAAI,CAACC,GAAL,EAdpB,EAeT;IAAA,KAXSL,GAWT,GAXSA,GAWT;IAAA,KATSC,KAST,GATSA,KAST;IAAA,KALSC,IAKT,GALSA,IAKT;IAAA,KADSC,SACT,GADSA,SACT;EAAE;;EAEO,IAAPG,OAAO,GAAG;IACZ,OAAO,KAAKC,eAAL,CAAqBC,IAA5B;EACD;;EAEkB,IAAfD,eAAe,GAAG;IACpB,OAAO,KAAKP,GAAL,CAASO,eAAT,IAA4B,KAAIE,kCAAJ,GAAnC;EACD;EAED;AACF;AACA;;;EACU,IAAJD,IAAI,GAAW;IACjB,OAAO,KAAKR,GAAL,CAASQ,IAAhB;EACD;EAED;AACF;AACA;;;EACiB,IAAXE,WAAW,GAAG;IAChB,OAAO,KAAKV,GAAL,CAASU,WAAhB;EACD;EAED;AACF;AACA;;;EACiB,IAAXC,WAAW,GAAW;IACxB,OAAO,KAAKX,GAAL,CAASW,WAAT,IAAwB,KAAKT,IAAL,CAAUU,QAAzC;EACD;;EAEDC,OAAO,GAAY;IACjB,OAAO,KAAKZ,KAAL,CAAWY,OAAX,EAAP;EACD;EAED;AACF;AACA;;;EACEC,GAAG,GAAG,CAAE;;EAERC,QAAQ,GAAmB;IACzB,OAAO;MACLP,IAAI,EAAE,KAAKA,IADN;MAELE,WAAW,EAAE,KAAKA,WAFb;MAGLC,WAAW,EAAE,KAAKA,WAHb;MAILL,OAAO,EAAE,KAAKC,eAAL,CAAqBC,IAJzB;MAKLN,IAAI,EAAE;QACJc,EAAE,EAAE,KAAKd,IAAL,CAAUU,QADV;QAEJJ,IAAI,EAAE,KAAKN,IAAL,CAAUM;MAFZ,CALD;MASLP,KAAK,EAAE,KAAKA;IATP,CAAP;EAWD;;EAEwB,OAAlBgB,kBAAkB,CAACC,MAAD,EAAmC;IAC1D,MAAMC,WAA+B,GAAG;MACtCX,IAAI,EAAEU,MAAM,CAACV,IADyB;MAEtCG,WAAW,EAAEO,MAAM,CAACP,WAFkB;MAGtCD,WAAW,EAAEQ,MAAM,CAACR;IAHkB,CAAxC;IAMA,MAAMR,IAAoB,GAAG;MAC3BU,QAAQ,EAAEM,MAAM,CAAChB,IAAP,CAAYc,EADK;MAE3BR,IAAI,EAAEU,MAAM,CAAChB,IAAP,CAAYM;IAFS,CAA7B;IAKA,OAAO,IAAIV,QAAJ,CAAaqB,WAAb,EAA0BD,MAAM,CAACjB,KAAjC,EAAwCC,IAAxC,CAAP;EACD;;AAnFmB"}
1
+ {"version":3,"names":["Artifact","constructor","def","files","task","timestamp","Date","now","storage","storageResolver","name","DefaultResolver","description","generatedBy","aspectId","isEmpty","tar","toObject","id","fromArtifactObject","object","artifactDef"],"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;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAEO,MAAMA,QAAQ,CAAC;EACpBC,WAAW;EACT;AACJ;AACA;EACaC,GAAuB,EAEvBC,KAAoB;EAC7B;AACJ;AACA;EACaC,IAAoB;EAC7B;AACJ;AACA;EACaC,SAAiB,GAAGC,IAAI,CAACC,GAAG,EAAE,EACvC;IAAA,KAXSL,GAAuB,GAAvBA,GAAuB;IAAA,KAEvBC,KAAoB,GAApBA,KAAoB;IAAA,KAIpBC,IAAoB,GAApBA,IAAoB;IAAA,KAIpBC,SAAiB,GAAjBA,SAAiB;EACzB;EAEH,IAAIG,OAAO,GAAG;IACZ,OAAO,IAAI,CAACC,eAAe,CAACC,IAAI;EAClC;EAEA,IAAID,eAAe,GAAG;IACpB,OAAO,IAAI,CAACP,GAAG,CAACO,eAAe,IAAI,KAAIE,kCAAe,GAAE;EAC1D;;EAEA;AACF;AACA;EACE,IAAID,IAAI,GAAW;IACjB,OAAO,IAAI,CAACR,GAAG,CAACQ,IAAI;EACtB;;EAEA;AACF;AACA;EACE,IAAIE,WAAW,GAAG;IAChB,OAAO,IAAI,CAACV,GAAG,CAACU,WAAW;EAC7B;;EAEA;AACF;AACA;EACE,IAAIC,WAAW,GAAW;IACxB,OAAO,IAAI,CAACX,GAAG,CAACW,WAAW,IAAI,IAAI,CAACT,IAAI,CAACU,QAAQ;EACnD;EAEAC,OAAO,GAAY;IACjB,OAAO,IAAI,CAACZ,KAAK,CAACY,OAAO,EAAE;EAC7B;;EAEA;AACF;AACA;EACEC,GAAG,GAAG,CAAC;EAEPC,QAAQ,GAAmB;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,kBAAkB,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;AAAC"}
@@ -1,70 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.ArtifactsCmd = void 0;
13
-
14
10
  function _defineProperty2() {
15
11
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
-
17
12
  _defineProperty2 = function () {
18
13
  return data;
19
14
  };
20
-
21
15
  return data;
22
16
  }
23
-
24
17
  function _chalk() {
25
18
  const data = _interopRequireDefault(require("chalk"));
26
-
27
19
  _chalk = function () {
28
20
  return data;
29
21
  };
30
-
31
22
  return data;
32
23
  }
33
-
34
24
  function _constants() {
35
25
  const data = require("@teambit/legacy/dist/constants");
36
-
37
26
  _constants = function () {
38
27
  return data;
39
28
  };
40
-
41
29
  return data;
42
30
  }
43
-
44
31
  function _bitError() {
45
32
  const data = require("@teambit/bit-error");
46
-
47
33
  _bitError = function () {
48
34
  return data;
49
35
  };
50
-
51
36
  return data;
52
37
  }
53
-
54
38
  function _artifactExtractor() {
55
39
  const data = require("./artifact-extractor");
56
-
57
40
  _artifactExtractor = function () {
58
41
  return data;
59
42
  };
60
-
61
43
  return data;
62
44
  }
63
-
64
45
  const INDENT_TITLE = ' '.repeat(2);
65
46
  const INDENT_SUB_TITLE = ' '.repeat(4);
66
47
  const INDENT_FILES = ' '.repeat(6);
67
-
68
48
  class ArtifactsCmd {
69
49
  constructor(builder, scope) {
70
50
  this.builder = builder;
@@ -83,38 +63,29 @@ and a package.tgz file generated by pkg aspect.
83
63
  (0, _defineProperty2().default)(this, "group", 'development');
84
64
  (0, _defineProperty2().default)(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']]);
85
65
  }
86
-
87
66
  async report([componentPattern], artifactsOpts) {
88
67
  if (!this.scope) throw new (_bitError().BitError)(`unable to run "bit artifacts" outside of a workspace or a scope`);
89
68
  const artifactExtractor = new (_artifactExtractor().ArtifactExtractor)(this.scope, this.builder, componentPattern, artifactsOpts);
90
69
  const list = await artifactExtractor.list();
91
70
  const grouped = artifactExtractor.groupResultsByAspect(list);
92
-
93
71
  const outputArtifacts = (aspectId, artifactData) => {
94
72
  const title = _chalk().default.green(aspectId);
95
-
96
73
  const artifactDataStr = artifactData.map(artifact => {
97
74
  const subTitle = _chalk().default.white(`${artifact.taskName} (${artifact.artifactName})`);
98
-
99
75
  const files = artifact.files.map(f => INDENT_FILES + _chalk().default.dim(f)).join('\n');
100
76
  return `${INDENT_SUB_TITLE}${subTitle}\n${files}`;
101
77
  }).join('\n');
102
78
  return `${INDENT_TITLE}${title}\n${artifactDataStr}`;
103
79
  };
104
-
105
80
  const outputResult = result => {
106
81
  const idStr = _chalk().default.cyan(result.id.toString());
107
-
108
82
  const artifacts = Object.keys(result.artifacts).map(aspectId => outputArtifacts(aspectId, result.artifacts[aspectId])).join('\n\n');
109
83
  return `${idStr}\n${artifacts}`;
110
84
  };
111
-
112
85
  const footer = artifactsOpts.outDir ? _chalk().default.green('\n\nThe above files were saved successfully to the file system') : '';
113
86
  return grouped.map(outputResult).join('\n\n') + footer;
114
87
  }
115
-
116
88
  }
117
-
118
89
  exports.ArtifactsCmd = ArtifactsCmd;
119
90
 
120
91
  //# sourceMappingURL=artifacts.cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["INDENT_TITLE","repeat","INDENT_SUB_TITLE","INDENT_FILES","ArtifactsCmd","constructor","builder","scope","name","description","COMPONENT_PATTERN_HELP","report","componentPattern","artifactsOpts","BitError","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","Object","keys","footer","outDir"],"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 { BitError } from '@teambit/bit-error';\nimport { ScopeMain } from '@teambit/scope';\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 = 'EXPERIMENTAL. list and download components 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 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 scope: ScopeMain) {}\n\n async report([componentPattern]: [string], artifactsOpts: ArtifactsOpts): Promise<string> {\n if (!this.scope) throw new BitError(`unable to run \"bit artifacts\" outside of a workspace or a scope`);\n const artifactExtractor = new ArtifactExtractor(this.scope, 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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"}
1
+ {"version":3,"names":["INDENT_TITLE","repeat","INDENT_SUB_TITLE","INDENT_FILES","ArtifactsCmd","constructor","builder","scope","name","description","COMPONENT_PATTERN_HELP","report","componentPattern","artifactsOpts","BitError","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","Object","keys","footer","outDir"],"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 { BitError } from '@teambit/bit-error';\nimport { ScopeMain } from '@teambit/scope';\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 = 'EXPERIMENTAL. list and download components 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 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 scope: ScopeMain) {}\n\n async report([componentPattern]: [string], artifactsOpts: ArtifactsOpts): Promise<string> {\n if (!this.scope) throw new BitError(`unable to run \"bit artifacts\" outside of a workspace or a scope`);\n const artifactExtractor = new ArtifactExtractor(this.scope, 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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"}
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ExtensionArtifact = void 0;
7
-
8
7
  class ExtensionArtifact {
9
8
  constructor(files, extensionDescriptor) {
10
9
  this.files = files;
11
10
  this.extensionDescriptor = extensionDescriptor;
12
11
  }
13
-
14
12
  toObject() {
15
13
  return {
16
14
  extensionDescriptor: this.extensionDescriptor
17
15
  };
18
16
  }
19
-
20
17
  }
21
-
22
18
  exports.ExtensionArtifact = ExtensionArtifact;
23
19
 
24
20
  //# sourceMappingURL=extension-artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ExtensionArtifact","constructor","files","extensionDescriptor","toObject"],"sources":["extension-artifact.ts"],"sourcesContent":["import type { AspectDescriptor } from '@teambit/aspect-loader';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nexport class ExtensionArtifact {\n constructor(readonly files: AbstractVinyl[], readonly extensionDescriptor: AspectDescriptor) {}\n\n toObject() {\n return {\n extensionDescriptor: this.extensionDescriptor,\n };\n }\n}\n"],"mappings":";;;;;;;AAGO,MAAMA,iBAAN,CAAwB;EAC7BC,WAAW,CAAUC,KAAV,EAA2CC,mBAA3C,EAAkF;IAAA,KAAxED,KAAwE,GAAxEA,KAAwE;IAAA,KAAvCC,mBAAuC,GAAvCA,mBAAuC;EAAE;;EAE/FC,QAAQ,GAAG;IACT,OAAO;MACLD,mBAAmB,EAAE,KAAKA;IADrB,CAAP;EAGD;;AAP4B"}
1
+ {"version":3,"names":["ExtensionArtifact","constructor","files","extensionDescriptor","toObject"],"sources":["extension-artifact.ts"],"sourcesContent":["import type { AspectDescriptor } from '@teambit/aspect-loader';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\n\nexport class ExtensionArtifact {\n constructor(readonly files: AbstractVinyl[], readonly extensionDescriptor: AspectDescriptor) {}\n\n toObject() {\n return {\n extensionDescriptor: this.extensionDescriptor,\n };\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,iBAAiB,CAAC;EAC7BC,WAAW,CAAUC,KAAsB,EAAWC,mBAAqC,EAAE;IAAA,KAAxED,KAAsB,GAAtBA,KAAsB;IAAA,KAAWC,mBAAqC,GAArCA,mBAAqC;EAAG;EAE9FC,QAAQ,GAAG;IACT,OAAO;MACLD,mBAAmB,EAAE,IAAI,CAACA;IAC5B,CAAC;EACH;AACF;AAAC"}
@@ -4,17 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FsArtifact = void 0;
7
-
8
7
  function _artifact() {
9
8
  const data = require("./artifact");
10
-
11
9
  _artifact = function () {
12
10
  return data;
13
11
  };
14
-
15
12
  return data;
16
13
  }
17
-
18
14
  class FsArtifact extends _artifact().Artifact {
19
15
  constructor(
20
16
  /**
@@ -27,9 +23,7 @@ class FsArtifact extends _artifact().Artifact {
27
23
  this.task = task;
28
24
  this.rootDir = rootDir;
29
25
  }
30
-
31
26
  }
32
-
33
27
  exports.FsArtifact = FsArtifact;
34
28
 
35
29
  //# sourceMappingURL=fs-artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FsArtifact","Artifact","constructor","def","files","task","rootDir"],"sources":["fs-artifact.ts"],"sourcesContent":["import type { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport type { ArtifactDefinition } from './artifact-definition';\nimport { Artifact } from './artifact';\nimport { TaskDescriptor } from '../build-task';\n\nexport class FsArtifact extends Artifact {\n constructor(\n /**\n * definition of the artifact.\n */\n readonly def: ArtifactDefinition,\n\n readonly files: ArtifactFiles,\n\n readonly task: TaskDescriptor,\n\n readonly rootDir: string\n ) {\n super(def, files, task);\n }\n}\n"],"mappings":";;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAGO,MAAMA,UAAN,SAAyBC,oBAAzB,CAAkC;EACvCC,WAAW;EACT;AACJ;AACA;EACaC,GAJA,EAMAC,KANA,EAQAC,IARA,EAUAC,OAVA,EAWT;IACA,MAAMH,GAAN,EAAWC,KAAX,EAAkBC,IAAlB;IADA,KAPSF,GAOT,GAPSA,GAOT;IAAA,KALSC,KAKT,GALSA,KAKT;IAAA,KAHSC,IAGT,GAHSA,IAGT;IAAA,KADSC,OACT,GADSA,OACT;EAED;;AAdsC"}
1
+ {"version":3,"names":["FsArtifact","Artifact","constructor","def","files","task","rootDir"],"sources":["fs-artifact.ts"],"sourcesContent":["import type { ArtifactFiles } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport type { ArtifactDefinition } from './artifact-definition';\nimport { Artifact } from './artifact';\nimport { TaskDescriptor } from '../build-task';\n\nexport class FsArtifact extends Artifact {\n constructor(\n /**\n * definition of the artifact.\n */\n readonly def: ArtifactDefinition,\n\n readonly files: ArtifactFiles,\n\n readonly task: TaskDescriptor,\n\n readonly rootDir: string\n ) {\n super(def, files, task);\n }\n}\n"],"mappings":";;;;;;AAEA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAGO,MAAMA,UAAU,SAASC,oBAAQ,CAAC;EACvCC,WAAW;EACT;AACJ;AACA;EACaC,GAAuB,EAEvBC,KAAoB,EAEpBC,IAAoB,EAEpBC,OAAe,EACxB;IACA,KAAK,CAACH,GAAG,EAAEC,KAAK,EAAEC,IAAI,CAAC;IAAC,KARfF,GAAuB,GAAvBA,GAAuB;IAAA,KAEvBC,KAAoB,GAApBA,KAAoB;IAAA,KAEpBC,IAAoB,GAApBA,IAAoB;IAAA,KAEpBC,OAAe,GAAfA,OAAe;EAG1B;AACF;AAAC"}
@@ -51,64 +51,46 @@ Object.defineProperty(exports, "FsArtifact", {
51
51
  return _fsArtifact().FsArtifact;
52
52
  }
53
53
  });
54
-
55
54
  function _artifactDefinition() {
56
55
  const data = require("./artifact-definition");
57
-
58
56
  _artifactDefinition = function () {
59
57
  return data;
60
58
  };
61
-
62
59
  return data;
63
60
  }
64
-
65
61
  function _extensionArtifact() {
66
62
  const data = require("./extension-artifact");
67
-
68
63
  _extensionArtifact = function () {
69
64
  return data;
70
65
  };
71
-
72
66
  return data;
73
67
  }
74
-
75
68
  function _artifact() {
76
69
  const data = require("./artifact");
77
-
78
70
  _artifact = function () {
79
71
  return data;
80
72
  };
81
-
82
73
  return data;
83
74
  }
84
-
85
75
  function _artifactList() {
86
76
  const data = require("./artifact-list");
87
-
88
77
  _artifactList = function () {
89
78
  return data;
90
79
  };
91
-
92
80
  return data;
93
81
  }
94
-
95
82
  function _artifactFactory() {
96
83
  const data = require("./artifact-factory");
97
-
98
84
  _artifactFactory = function () {
99
85
  return data;
100
86
  };
101
-
102
87
  return data;
103
88
  }
104
-
105
89
  function _fsArtifact() {
106
90
  const data = require("./fs-artifact");
107
-
108
91
  _fsArtifact = function () {
109
92
  return data;
110
93
  };
111
-
112
94
  return data;
113
95
  }
114
96