@teambit/ci 0.0.12 → 0.0.14

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/ci.docs.mdx CHANGED
@@ -115,3 +115,40 @@ bit ci merge [--message <string>] [--build]
115
115
  ### CI hint
116
116
 
117
117
  Gate this step behind a branch-protection rule so only fast-forward merges trigger a release.
118
+
119
+ ---
120
+
121
+ ## Configuration
122
+
123
+ The CI aspect supports configuration in `workspace.jsonc`:
124
+
125
+ ```json
126
+ {
127
+ "teambit.git/ci": {
128
+ "commitMessageScript": "node scripts/generate-commit-message.js"
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### `commitMessageScript`
134
+
135
+ **Optional.** Path to a script that generates custom commit messages for the `bit ci merge` command.
136
+
137
+ - **Default**: Uses `"chore: update .bitmap and lockfiles as needed [skip ci]"`
138
+ - **Usage**: The script should output the desired commit message to stdout
139
+ - **Security**: Commands are parsed to avoid shell injection - no chaining allowed
140
+ - **Working Directory**: Script runs in the workspace root directory
141
+
142
+ **Example script:**
143
+
144
+ ```javascript
145
+ #!/usr/bin/env node
146
+ const { execSync } = require('child_process');
147
+
148
+ try {
149
+ const version = execSync('npm show @my/package version', { encoding: 'utf8' }).trim();
150
+ console.log(`bump version to ${version} [skip ci]`);
151
+ } catch {
152
+ console.log('chore: update .bitmap and lockfiles as needed [skip ci]');
153
+ }
154
+ ```
package/dist/ci.docs.mdx CHANGED
@@ -115,3 +115,40 @@ bit ci merge [--message <string>] [--build]
115
115
  ### CI hint
116
116
 
117
117
  Gate this step behind a branch-protection rule so only fast-forward merges trigger a release.
118
+
119
+ ---
120
+
121
+ ## Configuration
122
+
123
+ The CI aspect supports configuration in `workspace.jsonc`:
124
+
125
+ ```json
126
+ {
127
+ "teambit.git/ci": {
128
+ "commitMessageScript": "node scripts/generate-commit-message.js"
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### `commitMessageScript`
134
+
135
+ **Optional.** Path to a script that generates custom commit messages for the `bit ci merge` command.
136
+
137
+ - **Default**: Uses `"chore: update .bitmap and lockfiles as needed [skip ci]"`
138
+ - **Usage**: The script should output the desired commit message to stdout
139
+ - **Security**: Commands are parsed to avoid shell injection - no chaining allowed
140
+ - **Working Directory**: Script runs in the workspace root directory
141
+
142
+ **Example script:**
143
+
144
+ ```javascript
145
+ #!/usr/bin/env node
146
+ const { execSync } = require('child_process');
147
+
148
+ try {
149
+ const version = execSync('npm show @my/package version', { encoding: 'utf8' }).trim();
150
+ console.log(`bump version to ${version} [skip ci]`);
151
+ } catch {
152
+ console.log('chore: update .bitmap and lockfiles as needed [skip ci]');
153
+ }
154
+ ```
@@ -9,6 +9,9 @@ import { type SnappingMain } from '@teambit/snapping';
9
9
  import { type ExportMain } from '@teambit/export';
10
10
  import { type ImporterMain } from '@teambit/importer';
11
11
  import { type CheckoutMain } from '@teambit/checkout';
12
+ export interface CiWorkspaceConfig {
13
+ commitMessageScript?: string;
14
+ }
12
15
  export declare class CiMain {
13
16
  private workspace;
14
17
  private builder;
@@ -19,11 +22,12 @@ export declare class CiMain {
19
22
  private importer;
20
23
  private checkout;
21
24
  private logger;
25
+ private config;
22
26
  static runtime: RuntimeDefinition;
23
27
  static dependencies: any;
24
28
  static slots: any;
25
- constructor(workspace: Workspace, builder: BuilderMain, status: StatusMain, lanes: LanesMain, snapping: SnappingMain, exporter: ExportMain, importer: ImporterMain, checkout: CheckoutMain, logger: Logger);
26
- static provider([cli, workspace, loggerAspect, builder, status, lanes, snapping, exporter, importer, checkout,]: [
29
+ constructor(workspace: Workspace, builder: BuilderMain, status: StatusMain, lanes: LanesMain, snapping: SnappingMain, exporter: ExportMain, importer: ImporterMain, checkout: CheckoutMain, logger: Logger, config: CiWorkspaceConfig);
30
+ static provider([cli, workspace, loggerAspect, builder, status, lanes, snapping, exporter, importer, checkout]: [
27
31
  CLIMain,
28
32
  Workspace,
29
33
  LoggerMain,
@@ -34,10 +38,11 @@ export declare class CiMain {
34
38
  ExportMain,
35
39
  ImporterMain,
36
40
  CheckoutMain
37
- ]): Promise<CiMain>;
41
+ ], config: CiWorkspaceConfig): Promise<CiMain>;
38
42
  getBranchName(): Promise<string>;
39
43
  getDefaultBranchName(): Promise<string>;
40
44
  getGitCommitMessage(): Promise<string | null>;
45
+ private getCustomCommitMessage;
41
46
  private verifyWorkspaceStatusInternal;
42
47
  private switchToLane;
43
48
  verifyWorkspaceStatus(): Promise<{
@@ -74,6 +74,13 @@ function _checkout() {
74
74
  };
75
75
  return data;
76
76
  }
77
+ function _execa() {
78
+ const data = _interopRequireDefault(require("execa"));
79
+ _execa = function () {
80
+ return data;
81
+ };
82
+ return data;
83
+ }
77
84
  function _chalk() {
78
85
  const data = _interopRequireDefault(require("chalk"));
79
86
  _chalk = function () {
@@ -130,7 +137,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
130
137
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
131
138
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
132
139
  class CiMain {
133
- constructor(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger) {
140
+ constructor(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger, config) {
134
141
  this.workspace = workspace;
135
142
  this.builder = builder;
136
143
  this.status = status;
@@ -140,10 +147,11 @@ class CiMain {
140
147
  this.importer = importer;
141
148
  this.checkout = checkout;
142
149
  this.logger = logger;
150
+ this.config = config;
143
151
  }
144
- static async provider([cli, workspace, loggerAspect, builder, status, lanes, snapping, exporter, importer, checkout]) {
152
+ static async provider([cli, workspace, loggerAspect, builder, status, lanes, snapping, exporter, importer, checkout], config) {
145
153
  const logger = loggerAspect.createLogger(_ci().CiAspect.id);
146
- const ci = new CiMain(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger);
154
+ const ci = new CiMain(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger, config);
147
155
  const ciCmd = new (_ci2().CiCmd)(workspace, logger);
148
156
  ciCmd.commands = [new (_verify().CiVerifyCmd)(workspace, logger, ci), new (_pr().CiPrCmd)(workspace, logger, ci), new (_merge().CiMergeCmd)(workspace, logger, ci)];
149
157
  cli.register(ciCmd);
@@ -195,6 +203,33 @@ class CiMain {
195
203
  throw new Error(`Unable to read commit message: ${e.toString()}`);
196
204
  }
197
205
  }
206
+ async getCustomCommitMessage() {
207
+ try {
208
+ const commitMessageScript = this.config.commitMessageScript;
209
+ if (commitMessageScript) {
210
+ this.logger.console(_chalk().default.blue(`Running custom commit message script: ${commitMessageScript}`));
211
+
212
+ // Parse the command to avoid shell injection
213
+ const parts = commitMessageScript.split(' ');
214
+ const command = parts[0];
215
+ const args = parts.slice(1);
216
+ const result = await (0, _execa().default)(command, args, {
217
+ cwd: this.workspace.path,
218
+ encoding: 'utf8'
219
+ });
220
+ const customMessage = result.stdout.trim();
221
+ if (customMessage) {
222
+ this.logger.console(_chalk().default.green(`Using custom commit message: ${customMessage}`));
223
+ return customMessage;
224
+ }
225
+ }
226
+ } catch (e) {
227
+ this.logger.console(_chalk().default.yellow(`Failed to run custom commit message script: ${e.toString()}`));
228
+ }
229
+
230
+ // Fallback to default message
231
+ return 'chore: update .bitmap and lockfiles as needed [skip ci]';
232
+ }
198
233
  async verifyWorkspaceStatusInternal(strict = false) {
199
234
  this.logger.console('📊 Workspace Status');
200
235
  this.logger.console(_chalk().default.blue('Verifying status of workspace'));
@@ -397,14 +432,36 @@ class CiMain {
397
432
  // This prevents issues when multiple PRs are merged in sequence
398
433
  const defaultBranch = await this.getDefaultBranchName();
399
434
  this.logger.console(_chalk().default.blue(`Pulling latest git changes from ${defaultBranch} branch`));
400
- await _git().git.pull('origin', defaultBranch);
435
+
436
+ // Check if there are any changes to stash before rebasing
437
+ const gitStatus = await _git().git.status();
438
+ const hasChanges = gitStatus.files.length > 0;
439
+ if (hasChanges) {
440
+ this.logger.console(_chalk().default.yellow('Stashing uncommitted changes before rebase'));
441
+ await _git().git.stash(['push', '-u', '-m', 'CI merge temporary stash']);
442
+ }
443
+ await _git().git.pull('origin', defaultBranch, {
444
+ '--rebase': 'true'
445
+ });
446
+ if (hasChanges) {
447
+ this.logger.console(_chalk().default.yellow('Restoring stashed changes after rebase'));
448
+ await _git().git.stash(['pop']);
449
+ }
401
450
  this.logger.console(_chalk().default.green('Pulled latest git changes'));
402
451
  this.logger.console('🔄 Checking out to main head');
403
- await this.checkout.checkout({
452
+ await this.importer.importCurrentObjects();
453
+ const checkoutProps = {
454
+ ids: this.workspace.listIds(),
404
455
  forceOurs: true,
405
456
  head: true,
406
457
  skipNpmInstall: true
407
- });
458
+ };
459
+ const checkoutResults = await this.checkout.checkout(checkoutProps);
460
+ await this.workspace.bitMap.write('checkout head');
461
+ // all: true is to make it less verbose in the output. this workaround will be fixed later.
462
+ this.logger.console((0, _checkout().checkoutOutput)(checkoutResults, _objectSpread(_objectSpread({}, checkoutProps), {}, {
463
+ all: true
464
+ })));
408
465
  const {
409
466
  code,
410
467
  data,
@@ -446,10 +503,14 @@ class CiMain {
446
503
 
447
504
  // Commit the .bitmap and pnpm-lock.yaml files using Git
448
505
  await _git().git.add(['.bitmap', 'pnpm-lock.yaml']);
449
- await _git().git.commit('chore: update .bitmap and lockfiles as needed [skip ci]');
506
+ const commitMessage = await this.getCustomCommitMessage();
507
+ await _git().git.commit(commitMessage);
450
508
 
451
509
  // Pull latest changes and push the commit to the remote repository
452
- await _git().git.pull('origin', defaultBranch);
510
+ // At this point we have just committed changes, so no need to stash
511
+ await _git().git.pull('origin', defaultBranch, {
512
+ '--rebase': 'true'
513
+ });
453
514
  await _git().git.push('origin', defaultBranch);
454
515
  } else {
455
516
  this.logger.console(_chalk().default.yellow('No components were tagged, skipping export and git operations'));
@@ -1 +1 @@
1
- {"version":3,"names":["_cli","data","require","_logger","_workspace","_builder","_status","_lanes","_snapping","_export","_importer","_checkout","_chalk","_interopRequireDefault","_ci","_ci2","_verify","_pr","_merge","_git","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CiMain","constructor","workspace","builder","status","lanes","snapping","exporter","importer","checkout","logger","provider","cli","loggerAspect","createLogger","CiAspect","id","ci","ciCmd","CiCmd","commands","CiVerifyCmd","CiPrCmd","CiMergeCmd","register","getBranchName","process","env","GITHUB_HEAD_REF","branch","git","current","Error","toString","getDefaultBranchName","result","raw","defaultBranch","trim","split","pop","branches","all","includes","console","chalk","yellow","getGitCommitMessage","commit","log","maxCount","latest","message","body","verifyWorkspaceStatusInternal","strict","blue","ignoreCircularDependencies","componentsWithErrors","componentsWithIssues","issues","hasTagBlockerIssues","componentsWithWarnings","red","code","green","switchToLane","laneName","options","switchLanes","forceOurs","head","workspaceOnly","skipDependencyInstallation","catch","verifyWorkspaceStatus","components","list","build","throwErrorsIfExist","snapPrCommit","laneIdStr","originalLane","getCurrentLane","laneId","parseLaneId","import","ids","installNpmPackages","writeConfigFiles","availableLanesInScope","getLanes","remote","scope","laneExists","find","lane","name","foundErr","importLaneObject","consumer","setCurrentLane","laneIds","toComponentIds","compId","bitMap","updateComponentId","write","importCurrentObjects","createLane","forkLaneNewScope","currentLane","results","snap","exitOnFirstFailedTask","snappedComponents","snapOutput","snapResultOutput","exportResults","export","componentsIds","skipNpmInstall","mergePr","argMessage","pull","hasSoftTaggedComponents","softTaggedComponents","tagResults","tag","failFast","persist","tagOutput","tagResultOutput","hasTaggedComponents","taggedComponents","exportResult","addConfig","add","archiveLane","removeLanes","exports","MainRuntime","CLIAspect","WorkspaceAspect","LoggerAspect","BuilderAspect","StatusAspect","LanesAspect","SnappingAspect","ExportAspect","ImporterAspect","CheckoutAspect","addRuntime"],"sources":["ci.main.runtime.ts"],"sourcesContent":["import type { RuntimeDefinition } from '@teambit/harmony';\nimport { CLIAspect, type CLIMain, MainRuntime } from '@teambit/cli';\nimport { LoggerAspect, type LoggerMain, type Logger } from '@teambit/logger';\nimport { WorkspaceAspect, type Workspace } from '@teambit/workspace';\nimport { BuilderAspect, type BuilderMain } from '@teambit/builder';\nimport { StatusAspect, type StatusMain } from '@teambit/status';\nimport { LanesAspect, type LanesMain } from '@teambit/lanes';\nimport { SnappingAspect, SnapResults, tagResultOutput, snapResultOutput, type SnappingMain } from '@teambit/snapping';\nimport { ExportAspect, type ExportMain } from '@teambit/export';\nimport { ImporterAspect, type ImporterMain } from '@teambit/importer';\nimport { CheckoutAspect, type CheckoutMain } from '@teambit/checkout';\nimport { SwitchLaneOptions } from '@teambit/lanes';\nimport chalk from 'chalk';\nimport { CiAspect } from './ci.aspect';\nimport { CiCmd } from './ci.cmd';\nimport { CiVerifyCmd } from './commands/verify.cmd';\nimport { CiPrCmd } from './commands/pr.cmd';\nimport { CiMergeCmd } from './commands/merge.cmd';\nimport { git } from './git';\n\nexport class CiMain {\n static runtime = MainRuntime as RuntimeDefinition;\n\n static dependencies: any = [\n CLIAspect,\n WorkspaceAspect,\n LoggerAspect,\n BuilderAspect,\n StatusAspect,\n LanesAspect,\n SnappingAspect,\n ExportAspect,\n ImporterAspect,\n CheckoutAspect,\n ];\n\n static slots: any = [];\n\n constructor(\n private workspace: Workspace,\n\n private builder: BuilderMain,\n\n private status: StatusMain,\n\n private lanes: LanesMain,\n\n private snapping: SnappingMain,\n\n private exporter: ExportMain,\n\n private importer: ImporterMain,\n\n private checkout: CheckoutMain,\n\n private logger: Logger\n ) {}\n\n static async provider([\n cli,\n workspace,\n loggerAspect,\n builder,\n status,\n lanes,\n snapping,\n exporter,\n importer,\n checkout,\n ]: [\n CLIMain,\n Workspace,\n LoggerMain,\n BuilderMain,\n StatusMain,\n LanesMain,\n SnappingMain,\n ExportMain,\n ImporterMain,\n CheckoutMain,\n ]) {\n const logger = loggerAspect.createLogger(CiAspect.id);\n const ci = new CiMain(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger);\n const ciCmd = new CiCmd(workspace, logger);\n ciCmd.commands = [\n new CiVerifyCmd(workspace, logger, ci),\n new CiPrCmd(workspace, logger, ci),\n new CiMergeCmd(workspace, logger, ci),\n ];\n cli.register(ciCmd);\n\n return ci;\n }\n\n async getBranchName() {\n try {\n // if we are running on github, use the GITHUB_HEAD_REF env var\n if (process.env.GITHUB_HEAD_REF) return process.env.GITHUB_HEAD_REF;\n\n const branch = await git.branch();\n return branch.current;\n } catch (e: any) {\n throw new Error(`Unable to read branch: ${e.toString()}`);\n }\n }\n\n async getDefaultBranchName() {\n try {\n // Try to get the default branch from git symbolic-ref\n const result = await git.raw(['symbolic-ref', 'refs/remotes/origin/HEAD']);\n const defaultBranch = result.trim().split('/').pop();\n return defaultBranch || 'master';\n } catch (e: any) {\n // Fallback to common default branch names\n try {\n const branches = await git.branch(['-r']);\n if (branches.all.includes('origin/main')) return 'main';\n if (branches.all.includes('origin/master')) return 'master';\n return 'master'; // Final fallback\n } catch {\n this.logger.console(chalk.yellow(`Unable to detect default branch, using 'master': ${e.toString()}`));\n return 'master';\n }\n }\n }\n\n async getGitCommitMessage() {\n try {\n const commit = await git.log({\n maxCount: 1,\n });\n if (!commit.latest) {\n return null;\n }\n const { message, body } = commit.latest;\n return body ? `${message}\\n\\n${body}` : message;\n } catch (e: any) {\n throw new Error(`Unable to read commit message: ${e.toString()}`);\n }\n }\n\n private async verifyWorkspaceStatusInternal(strict: boolean = false) {\n this.logger.console('📊 Workspace Status');\n this.logger.console(chalk.blue('Verifying status of workspace'));\n const status = await this.status.status({\n lanes: true,\n ignoreCircularDependencies: false,\n });\n\n // Check for blocking issues (errors) vs warnings\n const componentsWithErrors = status.componentsWithIssues.filter(({ issues }) => issues.hasTagBlockerIssues());\n\n const componentsWithWarnings = status.componentsWithIssues.filter(({ issues }) => !issues.hasTagBlockerIssues());\n\n if (componentsWithWarnings.length > 0) {\n if (strict) {\n this.logger.console(\n chalk.red(\n `Found ${componentsWithWarnings.length} components with warnings (strict mode), run 'bit status' to see the warnings.`\n )\n );\n return { code: 1, data: '', status };\n } else {\n this.logger.console(\n chalk.yellow(\n `Found ${componentsWithWarnings.length} components with warnings, run 'bit status' to see the warnings.`\n )\n );\n }\n }\n\n if (componentsWithErrors.length > 0) {\n this.logger.console(\n chalk.red(`Found ${componentsWithErrors.length} components with errors, run 'bit status' to see the errors.`)\n );\n return { code: 1, data: '', status };\n }\n\n this.logger.console(chalk.green('Workspace status is correct'));\n return { code: 0, data: '', status };\n }\n\n private async switchToLane(laneName: string, options: SwitchLaneOptions = {}) {\n this.logger.console(chalk.blue(`Switching to ${laneName}`));\n await this.lanes\n .switchLanes(laneName, {\n forceOurs: true,\n head: true,\n workspaceOnly: true,\n skipDependencyInstallation: true,\n ...options,\n })\n .catch((e) => {\n if (e.toString().includes('already checked out')) {\n this.logger.console(chalk.yellow(`Lane ${laneName} already checked out, skipping checkout`));\n return true;\n }\n this.logger.console(chalk.red(`Failed to checkout lane ${laneName}: ${e.toString()}`));\n return null;\n });\n }\n\n async verifyWorkspaceStatus() {\n const { code, data } = await this.verifyWorkspaceStatusInternal();\n if (code !== 0) return { code, data };\n\n this.logger.console('🔨 Build Process');\n const components = await this.workspace.list();\n\n this.logger.console(chalk.blue(`Building ${components.length} components`));\n\n const build = await this.builder.build(components);\n\n build.throwErrorsIfExist();\n\n this.logger.console(chalk.green('Components built'));\n\n return { code: 0, data: '' };\n }\n\n async snapPrCommit({\n laneIdStr,\n message,\n build,\n strict,\n }: {\n laneIdStr: string;\n message: string;\n build: boolean | undefined;\n strict: boolean | undefined;\n }) {\n this.logger.console(chalk.blue(`Lane name: ${laneIdStr}`));\n\n const originalLane = await this.lanes.getCurrentLane();\n\n const laneId = await this.lanes.parseLaneId(laneIdStr);\n\n const { code, data } = await this.verifyWorkspaceStatusInternal(strict);\n if (code !== 0) return { code, data };\n\n await this.importer\n .import({\n ids: [],\n installNpmPackages: false,\n writeConfigFiles: false,\n })\n .catch((e) => {\n throw new Error(`Failed to import components: ${e.toString()}`);\n });\n\n this.logger.console('🔄 Lane Management');\n const availableLanesInScope = await this.lanes\n .getLanes({\n remote: laneId.scope,\n })\n .catch((e) => {\n throw new Error(`Failed to get lanes in scope ${laneId.scope}: ${e.toString()}`);\n });\n\n const laneExists = availableLanesInScope.find((lane) => lane.id.name === laneId.name);\n\n let foundErr: Error | undefined;\n try {\n if (laneExists) {\n const lane = await this.lanes.importLaneObject(laneId, true);\n this.workspace.consumer.setCurrentLane(laneId, true);\n const laneIds = lane.toComponentIds();\n laneIds.forEach((compId) => this.workspace.consumer.bitMap.updateComponentId(compId));\n await this.workspace.bitMap.write();\n await this.importer.importCurrentObjects();\n\n this.logger.console(chalk.green(`Imported lane ${laneId.toString()}`));\n } else {\n this.logger.console(chalk.blue(`Creating lane ${laneId.toString()}`));\n\n try {\n await this.lanes.createLane(laneId.name, {\n scope: laneId.scope,\n forkLaneNewScope: true,\n });\n } catch (e: any) {\n if (e.message.includes('already exists')) {\n this.logger.console(chalk.yellow(`Lane ${laneId.toString()} already exists, skipping creation`));\n } else {\n throw new Error(`Failed to create lane ${laneId.toString()}: ${e.toString()}`);\n }\n }\n }\n\n const currentLane = await this.lanes.getCurrentLane();\n\n this.logger.console(chalk.blue(`Current lane: ${currentLane?.name ?? 'main'}`));\n\n if (currentLane?.name === laneId.name) {\n this.logger.console(chalk.yellow(`Current lane is already ${laneId.name}, skipping switch`));\n } else {\n await this.switchToLane(laneId.toString());\n }\n\n this.logger.console('📦 Snapping Components');\n const results = await this.snapping.snap({\n message,\n build,\n exitOnFirstFailedTask: true,\n });\n\n if (!results) {\n return 'No changes detected, nothing to snap';\n }\n\n const { snappedComponents }: SnapResults = results;\n\n const snapOutput = snapResultOutput(results);\n this.logger.console(snapOutput);\n\n this.logger.console(chalk.blue(`Exporting ${snappedComponents.length} components`));\n\n const exportResults = await this.exporter.export();\n\n this.logger.console(chalk.green(`Exported ${exportResults.componentsIds.length} components`));\n } catch (e: any) {\n foundErr = e;\n throw e;\n } finally {\n if (foundErr) {\n this.logger.console(chalk.red(`Found error: ${foundErr.message}`));\n }\n // Whatever happens, switch back to the original lane\n this.logger.console('🔄 Cleanup');\n this.logger.console(chalk.blue(`Switching back to ${originalLane?.name ?? 'main'}`));\n const lane = await this.lanes.getCurrentLane();\n if (!lane) {\n this.logger.console(chalk.yellow('Already on main, no need to switch. Checking out to head'));\n await this.lanes.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n });\n } else {\n await this.switchToLane(originalLane?.name ?? 'main');\n }\n }\n }\n\n async mergePr({ message: argMessage, build, strict }: { message?: string; build?: boolean; strict?: boolean }) {\n const message = argMessage || (await this.getGitCommitMessage());\n if (!message) {\n throw new Error('Failed to get commit message from git. Please provide a message using --message option.');\n }\n\n const currentLane = await this.lanes.getCurrentLane();\n\n if (currentLane) {\n // this doesn't normally happen. we expect this mergePr to be called from the default branch, which normally checks\n // out to main lane.\n this.logger.console(chalk.blue(`Currently on lane ${currentLane.name}, switching to main`));\n await this.switchToLane('main');\n this.logger.console(chalk.green('Switched to main lane'));\n }\n\n // Pull latest changes from remote to ensure we have the most up-to-date .bitmap\n // This prevents issues when multiple PRs are merged in sequence\n const defaultBranch = await this.getDefaultBranchName();\n this.logger.console(chalk.blue(`Pulling latest git changes from ${defaultBranch} branch`));\n await git.pull('origin', defaultBranch);\n this.logger.console(chalk.green('Pulled latest git changes'));\n\n this.logger.console('🔄 Checking out to main head');\n await this.checkout.checkout({\n forceOurs: true,\n head: true,\n skipNpmInstall: true,\n });\n\n const { code, data, status } = await this.verifyWorkspaceStatusInternal(strict);\n if (code !== 0) return { code, data };\n\n const hasSoftTaggedComponents = status.softTaggedComponents.length > 0;\n\n this.logger.console('📦 Component Operations');\n this.logger.console(chalk.blue('Tagging components'));\n const tagResults = await this.snapping.tag({\n all: true,\n message,\n build,\n failFast: true,\n persist: hasSoftTaggedComponents,\n });\n\n if (tagResults) {\n const tagOutput = tagResultOutput(tagResults);\n this.logger.console(tagOutput);\n } else {\n this.logger.console(chalk.yellow('No components to tag'));\n }\n\n const hasTaggedComponents = tagResults?.taggedComponents && tagResults.taggedComponents.length > 0;\n\n if (hasTaggedComponents) {\n this.logger.console(chalk.blue('Exporting components'));\n const exportResult = await this.exporter.export();\n\n if (exportResult.componentsIds.length > 0) {\n this.logger.console(chalk.green(`Exported ${exportResult.componentsIds.length} component(s)`));\n } else {\n this.logger.console(chalk.yellow('Nothing to export'));\n }\n\n this.logger.console('🔄 Git Operations');\n // Set user.email and user.name\n await git.addConfig('user.email', 'bit-ci[bot]@bit.cloud');\n await git.addConfig('user.name', 'Bit CI');\n\n // Commit the .bitmap and pnpm-lock.yaml files using Git\n await git.add(['.bitmap', 'pnpm-lock.yaml']);\n await git.commit('chore: update .bitmap and lockfiles as needed [skip ci]');\n\n // Pull latest changes and push the commit to the remote repository\n await git.pull('origin', defaultBranch);\n await git.push('origin', defaultBranch);\n } else {\n this.logger.console(chalk.yellow('No components were tagged, skipping export and git operations'));\n }\n\n this.logger.console(chalk.green('Merged PR'));\n\n if (currentLane) {\n this.logger.console('🗑️ Lane Cleanup');\n const laneId = currentLane.id;\n this.logger.console(chalk.blue(`Archiving lane ${laneId.toString()}`));\n const archiveLane = await this.lanes.removeLanes([laneId()]);\n if (archiveLane) {\n this.logger.console(chalk.green('Lane archived'));\n } else {\n this.logger.console(chalk.yellow('Failed to archive lane'));\n }\n }\n\n return { code: 0, data: '' };\n }\n}\n\n// @ts-ignore\nCiAspect.addRuntime(CiMain);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cli","data","require","_logger","_workspace","_builder","_status","_lanes","_snapping","_export","_importer","_checkout","_execa","_interopRequireDefault","_chalk","_ci","_ci2","_verify","_pr","_merge","_git","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CiMain","constructor","workspace","builder","status","lanes","snapping","exporter","importer","checkout","logger","config","provider","cli","loggerAspect","createLogger","CiAspect","id","ci","ciCmd","CiCmd","commands","CiVerifyCmd","CiPrCmd","CiMergeCmd","register","getBranchName","process","env","GITHUB_HEAD_REF","branch","git","current","Error","toString","getDefaultBranchName","result","raw","defaultBranch","trim","split","pop","branches","all","includes","console","chalk","yellow","getGitCommitMessage","commit","log","maxCount","latest","message","body","getCustomCommitMessage","commitMessageScript","blue","parts","command","args","slice","execa","cwd","path","encoding","customMessage","stdout","green","verifyWorkspaceStatusInternal","strict","ignoreCircularDependencies","componentsWithErrors","componentsWithIssues","issues","hasTagBlockerIssues","componentsWithWarnings","red","code","switchToLane","laneName","options","switchLanes","forceOurs","head","workspaceOnly","skipDependencyInstallation","catch","verifyWorkspaceStatus","components","list","build","throwErrorsIfExist","snapPrCommit","laneIdStr","originalLane","getCurrentLane","laneId","parseLaneId","import","ids","installNpmPackages","writeConfigFiles","availableLanesInScope","getLanes","remote","scope","laneExists","find","lane","name","foundErr","importLaneObject","consumer","setCurrentLane","laneIds","toComponentIds","compId","bitMap","updateComponentId","write","importCurrentObjects","createLane","forkLaneNewScope","currentLane","results","snap","exitOnFirstFailedTask","snappedComponents","snapOutput","snapResultOutput","exportResults","export","componentsIds","skipNpmInstall","mergePr","argMessage","gitStatus","hasChanges","files","stash","pull","checkoutProps","listIds","checkoutResults","checkoutOutput","hasSoftTaggedComponents","softTaggedComponents","tagResults","tag","failFast","persist","tagOutput","tagResultOutput","hasTaggedComponents","taggedComponents","exportResult","addConfig","add","commitMessage","archiveLane","removeLanes","exports","MainRuntime","CLIAspect","WorkspaceAspect","LoggerAspect","BuilderAspect","StatusAspect","LanesAspect","SnappingAspect","ExportAspect","ImporterAspect","CheckoutAspect","addRuntime"],"sources":["ci.main.runtime.ts"],"sourcesContent":["import type { RuntimeDefinition } from '@teambit/harmony';\nimport { CLIAspect, type CLIMain, MainRuntime } from '@teambit/cli';\nimport { LoggerAspect, type LoggerMain, type Logger } from '@teambit/logger';\nimport { WorkspaceAspect, type Workspace } from '@teambit/workspace';\nimport { BuilderAspect, type BuilderMain } from '@teambit/builder';\nimport { StatusAspect, type StatusMain } from '@teambit/status';\nimport { LanesAspect, type LanesMain } from '@teambit/lanes';\nimport { SnappingAspect, SnapResults, tagResultOutput, snapResultOutput, type SnappingMain } from '@teambit/snapping';\nimport { ExportAspect, type ExportMain } from '@teambit/export';\nimport { ImporterAspect, type ImporterMain } from '@teambit/importer';\nimport { CheckoutAspect, checkoutOutput, type CheckoutMain } from '@teambit/checkout';\nimport { SwitchLaneOptions } from '@teambit/lanes';\nimport execa from 'execa';\nimport chalk from 'chalk';\nimport { CiAspect } from './ci.aspect';\nimport { CiCmd } from './ci.cmd';\nimport { CiVerifyCmd } from './commands/verify.cmd';\nimport { CiPrCmd } from './commands/pr.cmd';\nimport { CiMergeCmd } from './commands/merge.cmd';\nimport { git } from './git';\n\nexport interface CiWorkspaceConfig {\n commitMessageScript?: string;\n}\n\nexport class CiMain {\n static runtime = MainRuntime as RuntimeDefinition;\n\n static dependencies: any = [\n CLIAspect,\n WorkspaceAspect,\n LoggerAspect,\n BuilderAspect,\n StatusAspect,\n LanesAspect,\n SnappingAspect,\n ExportAspect,\n ImporterAspect,\n CheckoutAspect,\n ];\n\n static slots: any = [];\n\n constructor(\n private workspace: Workspace,\n\n private builder: BuilderMain,\n\n private status: StatusMain,\n\n private lanes: LanesMain,\n\n private snapping: SnappingMain,\n\n private exporter: ExportMain,\n\n private importer: ImporterMain,\n\n private checkout: CheckoutMain,\n\n private logger: Logger,\n\n private config: CiWorkspaceConfig\n ) {}\n\n static async provider(\n [cli, workspace, loggerAspect, builder, status, lanes, snapping, exporter, importer, checkout]: [\n CLIMain,\n Workspace,\n LoggerMain,\n BuilderMain,\n StatusMain,\n LanesMain,\n SnappingMain,\n ExportMain,\n ImporterMain,\n CheckoutMain,\n ],\n config: CiWorkspaceConfig\n ) {\n const logger = loggerAspect.createLogger(CiAspect.id);\n const ci = new CiMain(workspace, builder, status, lanes, snapping, exporter, importer, checkout, logger, config);\n const ciCmd = new CiCmd(workspace, logger);\n ciCmd.commands = [\n new CiVerifyCmd(workspace, logger, ci),\n new CiPrCmd(workspace, logger, ci),\n new CiMergeCmd(workspace, logger, ci),\n ];\n cli.register(ciCmd);\n\n return ci;\n }\n\n async getBranchName() {\n try {\n // if we are running on github, use the GITHUB_HEAD_REF env var\n if (process.env.GITHUB_HEAD_REF) return process.env.GITHUB_HEAD_REF;\n\n const branch = await git.branch();\n return branch.current;\n } catch (e: any) {\n throw new Error(`Unable to read branch: ${e.toString()}`);\n }\n }\n\n async getDefaultBranchName() {\n try {\n // Try to get the default branch from git symbolic-ref\n const result = await git.raw(['symbolic-ref', 'refs/remotes/origin/HEAD']);\n const defaultBranch = result.trim().split('/').pop();\n return defaultBranch || 'master';\n } catch (e: any) {\n // Fallback to common default branch names\n try {\n const branches = await git.branch(['-r']);\n if (branches.all.includes('origin/main')) return 'main';\n if (branches.all.includes('origin/master')) return 'master';\n return 'master'; // Final fallback\n } catch {\n this.logger.console(chalk.yellow(`Unable to detect default branch, using 'master': ${e.toString()}`));\n return 'master';\n }\n }\n }\n\n async getGitCommitMessage() {\n try {\n const commit = await git.log({\n maxCount: 1,\n });\n if (!commit.latest) {\n return null;\n }\n const { message, body } = commit.latest;\n return body ? `${message}\\n\\n${body}` : message;\n } catch (e: any) {\n throw new Error(`Unable to read commit message: ${e.toString()}`);\n }\n }\n\n private async getCustomCommitMessage() {\n try {\n const commitMessageScript = this.config.commitMessageScript;\n\n if (commitMessageScript) {\n this.logger.console(chalk.blue(`Running custom commit message script: ${commitMessageScript}`));\n\n // Parse the command to avoid shell injection\n const parts = commitMessageScript.split(' ');\n const command = parts[0];\n const args = parts.slice(1);\n\n const result = await execa(command, args, {\n cwd: this.workspace.path,\n encoding: 'utf8',\n });\n const customMessage = result.stdout.trim();\n\n if (customMessage) {\n this.logger.console(chalk.green(`Using custom commit message: ${customMessage}`));\n return customMessage;\n }\n }\n } catch (e: any) {\n this.logger.console(chalk.yellow(`Failed to run custom commit message script: ${e.toString()}`));\n }\n\n // Fallback to default message\n return 'chore: update .bitmap and lockfiles as needed [skip ci]';\n }\n\n private async verifyWorkspaceStatusInternal(strict: boolean = false) {\n this.logger.console('📊 Workspace Status');\n this.logger.console(chalk.blue('Verifying status of workspace'));\n const status = await this.status.status({\n lanes: true,\n ignoreCircularDependencies: false,\n });\n\n // Check for blocking issues (errors) vs warnings\n const componentsWithErrors = status.componentsWithIssues.filter(({ issues }) => issues.hasTagBlockerIssues());\n\n const componentsWithWarnings = status.componentsWithIssues.filter(({ issues }) => !issues.hasTagBlockerIssues());\n\n if (componentsWithWarnings.length > 0) {\n if (strict) {\n this.logger.console(\n chalk.red(\n `Found ${componentsWithWarnings.length} components with warnings (strict mode), run 'bit status' to see the warnings.`\n )\n );\n return { code: 1, data: '', status };\n } else {\n this.logger.console(\n chalk.yellow(\n `Found ${componentsWithWarnings.length} components with warnings, run 'bit status' to see the warnings.`\n )\n );\n }\n }\n\n if (componentsWithErrors.length > 0) {\n this.logger.console(\n chalk.red(`Found ${componentsWithErrors.length} components with errors, run 'bit status' to see the errors.`)\n );\n return { code: 1, data: '', status };\n }\n\n this.logger.console(chalk.green('Workspace status is correct'));\n return { code: 0, data: '', status };\n }\n\n private async switchToLane(laneName: string, options: SwitchLaneOptions = {}) {\n this.logger.console(chalk.blue(`Switching to ${laneName}`));\n await this.lanes\n .switchLanes(laneName, {\n forceOurs: true,\n head: true,\n workspaceOnly: true,\n skipDependencyInstallation: true,\n ...options,\n })\n .catch((e) => {\n if (e.toString().includes('already checked out')) {\n this.logger.console(chalk.yellow(`Lane ${laneName} already checked out, skipping checkout`));\n return true;\n }\n this.logger.console(chalk.red(`Failed to checkout lane ${laneName}: ${e.toString()}`));\n return null;\n });\n }\n\n async verifyWorkspaceStatus() {\n const { code, data } = await this.verifyWorkspaceStatusInternal();\n if (code !== 0) return { code, data };\n\n this.logger.console('🔨 Build Process');\n const components = await this.workspace.list();\n\n this.logger.console(chalk.blue(`Building ${components.length} components`));\n\n const build = await this.builder.build(components);\n\n build.throwErrorsIfExist();\n\n this.logger.console(chalk.green('Components built'));\n\n return { code: 0, data: '' };\n }\n\n async snapPrCommit({\n laneIdStr,\n message,\n build,\n strict,\n }: {\n laneIdStr: string;\n message: string;\n build: boolean | undefined;\n strict: boolean | undefined;\n }) {\n this.logger.console(chalk.blue(`Lane name: ${laneIdStr}`));\n\n const originalLane = await this.lanes.getCurrentLane();\n\n const laneId = await this.lanes.parseLaneId(laneIdStr);\n\n const { code, data } = await this.verifyWorkspaceStatusInternal(strict);\n if (code !== 0) return { code, data };\n\n await this.importer\n .import({\n ids: [],\n installNpmPackages: false,\n writeConfigFiles: false,\n })\n .catch((e) => {\n throw new Error(`Failed to import components: ${e.toString()}`);\n });\n\n this.logger.console('🔄 Lane Management');\n const availableLanesInScope = await this.lanes\n .getLanes({\n remote: laneId.scope,\n })\n .catch((e) => {\n throw new Error(`Failed to get lanes in scope ${laneId.scope}: ${e.toString()}`);\n });\n\n const laneExists = availableLanesInScope.find((lane) => lane.id.name === laneId.name);\n\n let foundErr: Error | undefined;\n try {\n if (laneExists) {\n const lane = await this.lanes.importLaneObject(laneId, true);\n this.workspace.consumer.setCurrentLane(laneId, true);\n const laneIds = lane.toComponentIds();\n laneIds.forEach((compId) => this.workspace.consumer.bitMap.updateComponentId(compId));\n await this.workspace.bitMap.write();\n await this.importer.importCurrentObjects();\n\n this.logger.console(chalk.green(`Imported lane ${laneId.toString()}`));\n } else {\n this.logger.console(chalk.blue(`Creating lane ${laneId.toString()}`));\n\n try {\n await this.lanes.createLane(laneId.name, {\n scope: laneId.scope,\n forkLaneNewScope: true,\n });\n } catch (e: any) {\n if (e.message.includes('already exists')) {\n this.logger.console(chalk.yellow(`Lane ${laneId.toString()} already exists, skipping creation`));\n } else {\n throw new Error(`Failed to create lane ${laneId.toString()}: ${e.toString()}`);\n }\n }\n }\n\n const currentLane = await this.lanes.getCurrentLane();\n\n this.logger.console(chalk.blue(`Current lane: ${currentLane?.name ?? 'main'}`));\n\n if (currentLane?.name === laneId.name) {\n this.logger.console(chalk.yellow(`Current lane is already ${laneId.name}, skipping switch`));\n } else {\n await this.switchToLane(laneId.toString());\n }\n\n this.logger.console('📦 Snapping Components');\n const results = await this.snapping.snap({\n message,\n build,\n exitOnFirstFailedTask: true,\n });\n\n if (!results) {\n return 'No changes detected, nothing to snap';\n }\n\n const { snappedComponents }: SnapResults = results;\n\n const snapOutput = snapResultOutput(results);\n this.logger.console(snapOutput);\n\n this.logger.console(chalk.blue(`Exporting ${snappedComponents.length} components`));\n\n const exportResults = await this.exporter.export();\n\n this.logger.console(chalk.green(`Exported ${exportResults.componentsIds.length} components`));\n } catch (e: any) {\n foundErr = e;\n throw e;\n } finally {\n if (foundErr) {\n this.logger.console(chalk.red(`Found error: ${foundErr.message}`));\n }\n // Whatever happens, switch back to the original lane\n this.logger.console('🔄 Cleanup');\n this.logger.console(chalk.blue(`Switching back to ${originalLane?.name ?? 'main'}`));\n const lane = await this.lanes.getCurrentLane();\n if (!lane) {\n this.logger.console(chalk.yellow('Already on main, no need to switch. Checking out to head'));\n await this.lanes.checkout.checkout({\n head: true,\n skipNpmInstall: true,\n });\n } else {\n await this.switchToLane(originalLane?.name ?? 'main');\n }\n }\n }\n\n async mergePr({ message: argMessage, build, strict }: { message?: string; build?: boolean; strict?: boolean }) {\n const message = argMessage || (await this.getGitCommitMessage());\n if (!message) {\n throw new Error('Failed to get commit message from git. Please provide a message using --message option.');\n }\n\n const currentLane = await this.lanes.getCurrentLane();\n\n if (currentLane) {\n // this doesn't normally happen. we expect this mergePr to be called from the default branch, which normally checks\n // out to main lane.\n this.logger.console(chalk.blue(`Currently on lane ${currentLane.name}, switching to main`));\n await this.switchToLane('main');\n this.logger.console(chalk.green('Switched to main lane'));\n }\n\n // Pull latest changes from remote to ensure we have the most up-to-date .bitmap\n // This prevents issues when multiple PRs are merged in sequence\n const defaultBranch = await this.getDefaultBranchName();\n this.logger.console(chalk.blue(`Pulling latest git changes from ${defaultBranch} branch`));\n\n // Check if there are any changes to stash before rebasing\n const gitStatus = await git.status();\n const hasChanges = gitStatus.files.length > 0;\n\n if (hasChanges) {\n this.logger.console(chalk.yellow('Stashing uncommitted changes before rebase'));\n await git.stash(['push', '-u', '-m', 'CI merge temporary stash']);\n }\n\n await git.pull('origin', defaultBranch, { '--rebase': 'true' });\n\n if (hasChanges) {\n this.logger.console(chalk.yellow('Restoring stashed changes after rebase'));\n await git.stash(['pop']);\n }\n\n this.logger.console(chalk.green('Pulled latest git changes'));\n\n this.logger.console('🔄 Checking out to main head');\n await this.importer.importCurrentObjects();\n\n const checkoutProps = {\n ids: this.workspace.listIds(),\n forceOurs: true,\n head: true,\n skipNpmInstall: true,\n };\n const checkoutResults = await this.checkout.checkout(checkoutProps);\n await this.workspace.bitMap.write('checkout head');\n // all: true is to make it less verbose in the output. this workaround will be fixed later.\n this.logger.console(checkoutOutput(checkoutResults, { ...checkoutProps, all: true }));\n\n const { code, data, status } = await this.verifyWorkspaceStatusInternal(strict);\n if (code !== 0) return { code, data };\n\n const hasSoftTaggedComponents = status.softTaggedComponents.length > 0;\n\n this.logger.console('📦 Component Operations');\n this.logger.console(chalk.blue('Tagging components'));\n const tagResults = await this.snapping.tag({\n all: true,\n message,\n build,\n failFast: true,\n persist: hasSoftTaggedComponents,\n });\n\n if (tagResults) {\n const tagOutput = tagResultOutput(tagResults);\n this.logger.console(tagOutput);\n } else {\n this.logger.console(chalk.yellow('No components to tag'));\n }\n\n const hasTaggedComponents = tagResults?.taggedComponents && tagResults.taggedComponents.length > 0;\n\n if (hasTaggedComponents) {\n this.logger.console(chalk.blue('Exporting components'));\n const exportResult = await this.exporter.export();\n\n if (exportResult.componentsIds.length > 0) {\n this.logger.console(chalk.green(`Exported ${exportResult.componentsIds.length} component(s)`));\n } else {\n this.logger.console(chalk.yellow('Nothing to export'));\n }\n\n this.logger.console('🔄 Git Operations');\n // Set user.email and user.name\n await git.addConfig('user.email', 'bit-ci[bot]@bit.cloud');\n await git.addConfig('user.name', 'Bit CI');\n\n // Commit the .bitmap and pnpm-lock.yaml files using Git\n await git.add(['.bitmap', 'pnpm-lock.yaml']);\n\n const commitMessage = await this.getCustomCommitMessage();\n await git.commit(commitMessage);\n\n // Pull latest changes and push the commit to the remote repository\n // At this point we have just committed changes, so no need to stash\n await git.pull('origin', defaultBranch, { '--rebase': 'true' });\n await git.push('origin', defaultBranch);\n } else {\n this.logger.console(chalk.yellow('No components were tagged, skipping export and git operations'));\n }\n\n this.logger.console(chalk.green('Merged PR'));\n\n if (currentLane) {\n this.logger.console('🗑️ Lane Cleanup');\n const laneId = currentLane.id;\n this.logger.console(chalk.blue(`Archiving lane ${laneId.toString()}`));\n const archiveLane = await this.lanes.removeLanes([laneId()]);\n if (archiveLane) {\n this.logger.console(chalk.green('Lane archived'));\n } else {\n this.logger.console(chalk.yellow('Failed to archive lane'));\n }\n }\n\n return { code: 0, data: '' };\n }\n}\n\n// @ts-ignore\nCiAspect.addRuntime(CiMain);\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  ;
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.git_ci@0.0.12/dist/ci.docs.mdx';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.git_ci@0.0.14/dist/ci.docs.mdx';
3
3
 
4
4
  export const compositions = [];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@teambit/ci",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "homepage": "https://bit.cloud/teambit/git/ci",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.git",
8
8
  "name": "ci",
9
- "version": "0.0.12"
9
+ "version": "0.0.14"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
13
+ "execa": "2.1.0",
13
14
  "simple-git": "^3.28.0",
14
15
  "@teambit/harmony": "0.4.7",
15
16
  "@teambit/cli": "0.0.1229",