1.0.0 • Published 1 year ago

buildsync-submit v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

buildSync

buildSync is a CLI tool designed to facilitate the upload of .apk and .ipa files to a server for build synchronization. This tool leverages Node.js and several libraries to ensure a smooth and efficient upload process, complete with progress tracking and error handling.

Features

  • Upload Support: Only supports .apk and .ipa file uploads.
  • Progress Tracking: Provides a visual progress bar during the upload.
  • Error Handling: Detailed error messages to guide the user.
  • Environment Configuration: Uses environment variables for configuration.

Installation

To get started, clone this repository and install the necessary dependencies:

git clone https://github.com/Skipperlla/buildSync-cli.git
cd buildSync
npm install or yarn install

Usage

Ensure you have the necessary environment variables set in your .env file:

BUILD_SYNC_API_TOKEN=your_BUILD_SYNC_API_TOKEN
BUILD_SYNC_API_URL=http://yourServerAddress:yourPort/upload

Commands

The buildSync CLI tool provides a primary command submit to upload files.

submit

This command uploads a specified .apk or .ipa file to the server.

Options
  • -p, --path <filePath>: Path to the file to upload. The file must be either a .apk or .ipa file.
  • -o, --orgId <orgId>: Organization ID. This is the unique identifier for your organization.
  • -a, --appId <appId>: Application ID. This is the unique identifier for the application you are uploading the file for.
Example
buildSync submit -p /path/to/your/file.apk -o yourOrgId -a yourAppId

Help Command

For a detailed list of available commands and options, you can use the --help flag:

buildSync --help

Development

File Structure

  • index.js: Entry point for the CLI tool.
  • upload.js: Contains the uploadFile function that handles the file upload logic.

Dependencies

  • axios: Promise-based HTTP client for the browser and Node.js.
  • cli-progress: Flexible command line progress bar.
  • form-data: A module to create readable "multipart/form-data" streams.
  • dotenv: Loads environment variables from a .env file into process.env.
  • chalk: Terminal string styling done right.
  • commander: The complete solution for node.js command-line interfaces.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

This README provides a comprehensive overview of your project, detailing its purpose, installation steps, usage instructions, and file structure. It should help users understand how to use your CLI tool effectively.