@teambit/builder 0.0.675 → 0.0.678
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/builder.composition.tsx +7 -0
- package/builder.docs.mdx +1 -1
- package/dist/build-pipe.d.ts +4 -0
- package/dist/build-pipe.js +14 -0
- package/dist/build-pipe.js.map +1 -1
- package/dist/builder.composition.d.ts +2 -0
- package/dist/builder.composition.js +35 -0
- package/dist/builder.composition.js.map +1 -0
- package/dist/builder.docs.mdx +1 -1
- package/package-tar/teambit-builder-0.0.678.tgz +0 -0
- package/package.json +15 -15
- package/preview-1647487436311.js +2 -0
- package/package-tar/teambit-builder-0.0.675.tgz +0 -0
- package/preview-1647228138686.js +0 -1
package/builder.docs.mdx
CHANGED
package/dist/build-pipe.d.ts
CHANGED
|
@@ -57,6 +57,10 @@ export declare class BuildPipe {
|
|
|
57
57
|
* execute a pipeline of build tasks.
|
|
58
58
|
*/
|
|
59
59
|
execute(): Promise<TaskResultsList>;
|
|
60
|
+
/**
|
|
61
|
+
* for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.
|
|
62
|
+
*/
|
|
63
|
+
private addSignalListener;
|
|
60
64
|
private executePreBuild;
|
|
61
65
|
private executeTask;
|
|
62
66
|
private executePostBuild;
|
package/dist/build-pipe.js
CHANGED
|
@@ -89,6 +89,7 @@ class BuildPipe {
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
async execute() {
|
|
92
|
+
this.addSignalListener();
|
|
92
93
|
await this.executePreBuild();
|
|
93
94
|
this.longProcessLogger = this.logger.createLongProcessLogger('running tasks', this.tasksQueue.length);
|
|
94
95
|
await (0, _pMapSeries().default)(this.tasksQueue, async ({
|
|
@@ -100,6 +101,19 @@ class BuildPipe {
|
|
|
100
101
|
await this.executePostBuild(tasksResultsList);
|
|
101
102
|
return tasksResultsList;
|
|
102
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* for some reason, some tasks (such as typescript compilation) ignore ctrl+C. this fixes it.
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
addSignalListener() {
|
|
110
|
+
process.on('SIGTERM', () => {
|
|
111
|
+
process.exit();
|
|
112
|
+
});
|
|
113
|
+
process.on('SIGINT', () => {
|
|
114
|
+
process.exit();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
103
117
|
|
|
104
118
|
async executePreBuild() {
|
|
105
119
|
this.logger.setStatusLine('executing pre-build for all tasks');
|
package/dist/build-pipe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["build-pipe.ts"],"names":["BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","allTasksResults","taskResults","execute","executePreBuild","longProcessLogger","createLongProcessLogger","length","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","setStatusLine","preBuild","getBuildContext","id","consoleSuccess","taskId","BuildTaskHelper","serializeId","taskName","description","logProgress","updateFailedDependencyTask","shouldSkipTask","startTask","process","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","endTime","compsWithErrors","componentsResults","filter","c","errors","artifacts","consoleFailure","failedTasks","push","duration","defs","generate","startTime","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","aspectId","name","deserializeIdAllowEmptyName","find","failedTask","envId","failedTaskId","consoleWarning","Error","previousTasksResults","from"],"mappings":"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","sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { ArtifactFactory, ArtifactList } from './artifact';\nimport { BuildTask, BuildTaskHelper } 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> | 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\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 ) {}\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 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 private async executePreBuild() {\n this.logger.setStatusLine('executing 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 this.logger.consoleSuccess();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const taskName = `${taskId}${task.description ? ` (${task.description})` : ''}`;\n this.longProcessLogger.logProgress(`env \"${env.id}\", task \"${taskName}\"`);\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 const buildTaskResult = await task.execute(buildContext);\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts;\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.failedTasks.push(task);\n } else {\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`env \"${env.id}\", task \"${taskName}\" has completed successfully in ${duration}`);\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 async executePostBuild(tasksResults: TaskResultsList) {\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 this.logger.consoleSuccess();\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.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) {\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 /**\n * create a build pipe from an array of tasks.\n */\n static from(\n tasksQueue: TasksQueue,\n envsBuildContext: EnvsBuildContext,\n logger: Logger,\n artifactFactory: ArtifactFactory,\n previousTaskResults?: TaskResults[]\n ) {\n return new BuildPipe(tasksQueue, envsBuildContext, logger, artifactFactory, previousTaskResults);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["build-pipe.ts"],"names":["BuildPipe","constructor","tasksQueue","envsBuildContext","logger","artifactFactory","previousTaskResults","allTasksResults","taskResults","execute","addSignalListener","executePreBuild","longProcessLogger","createLongProcessLogger","length","task","env","executeTask","end","tasksResultsList","TaskResultsList","executePostBuild","process","on","exit","setStatusLine","preBuild","getBuildContext","id","consoleSuccess","taskId","BuildTaskHelper","serializeId","taskName","description","logProgress","updateFailedDependencyTask","shouldSkipTask","startTask","hrtime","taskStartTime","Date","now","buildContext","buildTaskResult","endTime","compsWithErrors","componentsResults","filter","c","errors","artifacts","consoleFailure","failedTasks","push","duration","defs","generate","startTime","tasksResults","postBuild","failedDependencyTask","dependencies","forEach","dependency","aspectId","name","deserializeIdAllowEmptyName","find","failedTask","envId","failedTaskId","consoleWarning","Error","previousTasksResults","from"],"mappings":"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","sourcesContent":["import { EnvDefinition } from '@teambit/envs';\nimport { ComponentMap } from '@teambit/component';\nimport { Logger, LongProcessLogger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\nimport prettyTime from 'pretty-time';\nimport { ArtifactFactory, ArtifactList } from './artifact';\nimport { BuildTask, BuildTaskHelper } 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> | 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\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 ) {}\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 await mapSeries(this.tasksQueue, async ({ task, env }) => {\n if (!task.preBuild) return;\n await task.preBuild(this.getBuildContext(env.id));\n });\n this.logger.consoleSuccess();\n }\n\n private async executeTask(task: BuildTask, env: EnvDefinition): Promise<void> {\n const taskId = BuildTaskHelper.serializeId(task);\n const taskName = `${taskId}${task.description ? ` (${task.description})` : ''}`;\n this.longProcessLogger.logProgress(`env \"${env.id}\", task \"${taskName}\"`);\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 const buildTaskResult = await task.execute(buildContext);\n const endTime = Date.now();\n const compsWithErrors = buildTaskResult.componentsResults.filter((c) => c.errors?.length);\n let artifacts;\n if (compsWithErrors.length) {\n this.logger.consoleFailure(`env: ${env.id}, task \"${taskId}\" has failed`);\n this.failedTasks.push(task);\n } else {\n const duration = prettyTime(process.hrtime(startTask));\n this.logger.consoleSuccess(`env \"${env.id}\", task \"${taskName}\" has completed successfully in ${duration}`);\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 async executePostBuild(tasksResults: TaskResultsList) {\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 this.logger.consoleSuccess();\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.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) {\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 /**\n * create a build pipe from an array of tasks.\n */\n static from(\n tasksQueue: TasksQueue,\n envsBuildContext: EnvsBuildContext,\n logger: Logger,\n artifactFactory: ArtifactFactory,\n previousTaskResults?: TaskResults[]\n ) {\n return new BuildPipe(tasksQueue, envsBuildContext, logger, artifactFactory, previousTaskResults);\n }\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.Logo = void 0;
|
|
9
|
+
|
|
10
|
+
function _react() {
|
|
11
|
+
const data = _interopRequireDefault(require("react"));
|
|
12
|
+
|
|
13
|
+
_react = function () {
|
|
14
|
+
return data;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
return data;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
21
|
+
style: {
|
|
22
|
+
height: '100%',
|
|
23
|
+
display: 'flex',
|
|
24
|
+
justifyContent: 'center'
|
|
25
|
+
}
|
|
26
|
+
}, /*#__PURE__*/_react().default.createElement("img", {
|
|
27
|
+
style: {
|
|
28
|
+
width: 70
|
|
29
|
+
},
|
|
30
|
+
src: "https://static.bit.dev/extensions-icons/builder.svg"
|
|
31
|
+
}));
|
|
32
|
+
|
|
33
|
+
exports.Logo = Logo;
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=builder.composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["builder.composition.tsx"],"names":["Logo","height","display","justifyContent","width"],"mappings":";;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,IAAI,GAAG,mBAClB;AAAK,EAAA,KAAK,EAAE;AAAEC,IAAAA,MAAM,EAAE,MAAV;AAAkBC,IAAAA,OAAO,EAAE,MAA3B;AAAmCC,IAAAA,cAAc,EAAE;AAAnD;AAAZ,gBACE;AAAK,EAAA,KAAK,EAAE;AAAEC,IAAAA,KAAK,EAAE;AAAT,GAAZ;AAA2B,EAAA,GAAG,EAAC;AAA/B,EADF,CADK","sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/builder.svg\" />\n </div>\n);\n"]}
|
package/dist/builder.docs.mdx
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/builder",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.678",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/pipelines/builder",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.pipelines",
|
|
8
8
|
"name": "builder",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.678"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"p-map-series": "2.1.0",
|
|
@@ -22,17 +22,17 @@
|
|
|
22
22
|
"globby": "11.0.1",
|
|
23
23
|
"@babel/runtime": "7.12.18",
|
|
24
24
|
"core-js": "^3.0.0",
|
|
25
|
-
"@teambit/component": "0.0.
|
|
26
|
-
"@teambit/envs": "0.0.
|
|
27
|
-
"@teambit/logger": "0.0.
|
|
28
|
-
"@teambit/tester": "0.0.
|
|
29
|
-
"@teambit/isolator": "0.0.
|
|
30
|
-
"@teambit/cli": "0.0.
|
|
31
|
-
"@teambit/workspace": "0.0.
|
|
32
|
-
"@teambit/aspect-loader": "0.0.
|
|
33
|
-
"@teambit/generator": "0.0.
|
|
34
|
-
"@teambit/graphql": "0.0.
|
|
35
|
-
"@teambit/scope": "0.0.
|
|
25
|
+
"@teambit/component": "0.0.678",
|
|
26
|
+
"@teambit/envs": "0.0.678",
|
|
27
|
+
"@teambit/logger": "0.0.545",
|
|
28
|
+
"@teambit/tester": "0.0.678",
|
|
29
|
+
"@teambit/isolator": "0.0.678",
|
|
30
|
+
"@teambit/cli": "0.0.453",
|
|
31
|
+
"@teambit/workspace": "0.0.678",
|
|
32
|
+
"@teambit/aspect-loader": "0.0.678",
|
|
33
|
+
"@teambit/generator": "0.0.678",
|
|
34
|
+
"@teambit/graphql": "0.0.678",
|
|
35
|
+
"@teambit/scope": "0.0.678",
|
|
36
36
|
"@teambit/bit-error": "0.0.394",
|
|
37
37
|
"@teambit/component-id": "0.0.401"
|
|
38
38
|
},
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@teambit/pipelines.aspect-docs.builder": "0.0.134"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@teambit/legacy": "1.0.
|
|
52
|
+
"@teambit/legacy": "1.0.232",
|
|
53
53
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
54
54
|
"react": "^16.8.0 || ^17.0.0"
|
|
55
55
|
},
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"react": "-"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
|
-
"@teambit/legacy": "1.0.
|
|
80
|
+
"@teambit/legacy": "1.0.232",
|
|
81
81
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
82
82
|
"react": "^16.8.0 || ^17.0.0"
|
|
83
83
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.678/dist/builder.composition.js')]
|
|
2
|
+
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.678/dist/builder.docs.mdx')]
|
|
Binary file
|
package/preview-1647228138686.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pipelines_builder@0.0.675/dist/builder.docs.mdx')]
|