Skip to content

Comments

feat(VEG-3430): Add the Connector bundle logic into the cli#309

Merged
saikambaiyyagari merged 4 commits intoskambaiyyagari/introduce-connector-commandsfrom
skambaiyyagari/add-bundle-command
Jan 21, 2026
Merged

feat(VEG-3430): Add the Connector bundle logic into the cli#309
saikambaiyyagari merged 4 commits intoskambaiyyagari/introduce-connector-commandsfrom
skambaiyyagari/add-bundle-command

Conversation

@saikambaiyyagari
Copy link
Contributor

@saikambaiyyagari saikambaiyyagari commented Jan 15, 2026

Description

This PR introduces a new zcli connectors bundle command that provides a streamlined way to bundle Zendesk connectors for deployment. The command uses Vite as the bundling engine and includes asset copying, translation handling, and manifest generation.

2822f16 Add the manifest generator logic to generate the connector manifest

16d1587 Introduce the connector bundle logic to create the minified JS output

dea5d1c Add codeowners

5c56bb4 Refactor and structure the code

Detail

JIRA: https://zendesk.atlassian.net/browse/VEG-3430

Checklist

  • 💂‍♂️ includes new unit and functional tests

@saikambaiyyagari saikambaiyyagari changed the base branch from master to skambaiyyagari/introduce-connector-commands January 15, 2026 12:40
@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch 2 times, most recently from c3117f1 to 9efefae Compare January 15, 2026 12:51
@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch 5 times, most recently from 1c91f03 to 549aea0 Compare January 15, 2026 22:59
@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch from 549aea0 to 16d1587 Compare January 15, 2026 23:39
@saikambaiyyagari saikambaiyyagari changed the title Skambaiyyagari/add bundle command [VEG-3430]: Add the Connector bundle logic into the cli Jan 16, 2026
@saikambaiyyagari saikambaiyyagari changed the title [VEG-3430]: Add the Connector bundle logic into the cli feat(VEG-3430): Add the Connector bundle logic into the cli Jan 16, 2026
@saikambaiyyagari saikambaiyyagari marked this pull request as ready for review January 16, 2026 00:19
@saikambaiyyagari saikambaiyyagari requested review from a team as code owners January 16, 2026 00:19
@zidmus zidmus requested a review from Copilot January 18, 2026 23:59
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request introduces a new zcli connectors bundle command that provides a streamlined way to bundle Zendesk connectors for deployment. The implementation uses Vite as the bundling engine and includes automated asset copying, translation handling, and manifest generation capabilities.

Changes:

  • Added new connectors bundle command with support for watch mode and custom output directories
  • Implemented Vite-based bundling infrastructure with Babel transpilation targeting IE11 compatibility
  • Created manifest generator to automatically generate connector manifest files from bundled output
  • Refactored test files in zcli-core for better test isolation and cleanup
  • Added new dependencies: Vite, Rollup plugins, ora spinner, and sinon-chai for testing

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
packages/zcli-connectors/src/commands/connectors/bundle.ts New bundle command implementation with flag parsing and error handling
packages/zcli-connectors/src/lib/vite/vite-config.ts Vite configuration builder with asset/translation copying and manifest generation plugins
packages/zcli-connectors/src/lib/vite/vite-runner.ts Vite runner wrapper that executes builds and handles errors
packages/zcli-connectors/src/lib/manifest-generator/generator.ts Manifest generator that creates manifest.json from bundled connector
packages/zcli-connectors/tests/functional/bundle.test.ts Comprehensive tests for bundle command functionality
packages/zcli-connectors/src/lib/vite/vite-config.test.ts Tests for Vite configuration builder and plugins
packages/zcli-connectors/src/lib/vite/vite-runner.test.ts Tests for Vite runner error handling and build process
packages/zcli-connectors/src/lib/manifest-generator/generator.test.ts Tests for manifest generation and validation
packages/zcli-core/src/lib/config.test.ts Refactored tests with proper stub lifecycle management
packages/zcli-connectors/tsconfig.json Removed esModuleInterop setting
packages/zcli-connectors/package.json Added bundling-related dependencies and dev dependencies
.github/CODEOWNERS Added Vegemite team as owners of connectors package
yarn.lock Lock file updates for new dependencies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 16 changed files in this pull request and generated 12 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch 6 times, most recently from 49996b9 to 8e68c74 Compare January 19, 2026 11:03
Comment on lines 63 to 68
if (flags.verbose) {
this.log(chalk.cyan('Verbose mode enabled'))
this.log(chalk.cyan(`Input path: ${inputPath}`))
this.log(chalk.cyan(`Output path: ${outputPath}`))
this.log(chalk.cyan(`Watch mode: ${flags.watch ? 'enabled' : 'disabled'}`))
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be before the output directory creation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are printing the resolved absolute paths for output and the input based on the flags or default values. The logic code path above these print statements. Can we leave it here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, not a blocker on my end. Just wanted to call out the output order would be:

Created output directory: ${outputPath}

Verbose mode enabled
Input path: ${inputPath}
Output path: ${outputPath}
Watch mode: enabled

Which seems a bit odd. As a user I would expect:

Verbose mode enabled
Input path: ${inputPath}
Output path: ${outputPath}
Watch mode: enabled

Created output directory: ${outputPath}
...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed the labels like this for now:
Resolved Input path: ${inputPath}
Resolved Output path: ${outputPath}

@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch from 8e68c74 to 7348df1 Compare January 20, 2026 02:20
@saikambaiyyagari saikambaiyyagari force-pushed the skambaiyyagari/add-bundle-command branch from 7348df1 to 5c56bb4 Compare January 20, 2026 22:59
@saikambaiyyagari saikambaiyyagari merged commit f004b76 into skambaiyyagari/introduce-connector-commands Jan 21, 2026
5 checks passed
@saikambaiyyagari saikambaiyyagari deleted the skambaiyyagari/add-bundle-command branch January 21, 2026 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants