Skip to content

DeployEase is a command-line tool that streamlines the deployment process for web applications across multiple platforms like Firebase, Netlify, and Vercel. Instead of manually configuring deployment settings for each service, DeployEase automates the setup, making deployment faster and hassle-free.

Notifications You must be signed in to change notification settings

daviddozie/deployease

Repository files navigation

DeployEase - Deploy Frontend Apps Easily πŸš€

DeployEase is a powerful CLI tool that simplifies the deployment of frontend applications to multiple hosting platforms with just one command.

Features ✨

  • 🎯 One-command deployment to multiple platforms
  • πŸ” Automatic platform detection
  • πŸ› οΈ Automatic CLI tool installation
  • πŸ” Seamless authentication handling
  • βš™οΈ Configuration file generation
  • πŸ’» Interactive platform selection

Supported Platforms 🌐

  • Netlify
  • Vercel
  • Firebase
  • GitHub Pages
  • Cloudflare Pages
  • Render
  • Railway
  • Koyeb

Installation πŸ“¦

You can install DeployEase globally for system-wide use or as a dev dependency within a project.

🌍 Global Installation (Recommended)

To use DeployEase from anywhere in your terminal, install it globally:

Using npm

npm install -g deployease

Using yarn

yarn global add deployease

Using pnpm

pnpm add -g deployease

Using bun

bun add -g deployease

πŸ“¦ Install as a Dev Dependency (Per Project)

If you prefer to use DeployEase within a project (e.g., in package.json scripts), install it as a dev dependency:

Using npm

npm install --save-dev deployease

Using yarn

yarn add -D deployease

Using pnpm

pnpm add -D deployease

Using bun

bun add -D deployease

Then, you can add a script in package.json for deployment:

{
  "scripts": {
    "deploy": "deployease deploy"
  }
}

Run it with:

npm run deploy

Architecture

DeployEase uses a modular architecture:

  • src/core/ - Core functionality (detection, auth, installation)
  • src/platforms/ - Platform-specific implementations
  • src/utils/ - Shared utilities
  • tests/ - Unit and integration tests

Development

Run tests:

npm test

Add new platform:

  1. Create class in src/platforms/yourplatform.js extending Platform
  2. Implement required methods (detect, authenticate, deploy)
  3. Add to src/platforms/index.js
  4. Add tests

Usage

DeployEase provides a simple command to deploy your frontend projects:

deployease deploy

Usage πŸ› οΈ

Quick Start

  1. Navigate to your project directory:
cd your-project-directory
  1. Deploy your project:
deployease deploy

What Happens During Deployment

  1. Platform Detection: DeployEase automatically detects your deployment platform based on configuration files:

    • netlify.toml β†’ Netlify
    • vercel.json β†’ Vercel
    • firebase.json β†’ Firebase
    • .github/workflows β†’ GitHub Pages
    • cloudflare-pages.toml β†’ Cloudflare Pages
    • render.yaml β†’ Render
    • railway.json β†’ Railway
    • koyeb.yaml β†’ Koyeb
  2. Interactive Selection: If no platform is detected, you'll be prompted to choose one.

  3. Automatic Setup: DeployEase will:

    • Install required CLI tools if missing
    • Handle authentication if needed
    • Create necessary configuration files
    • Deploy your application

Platform-Specific Guide πŸ“š

Netlify

  • Automatic CLI setup and authentication
  • Supports custom build commands and environment variables
  • Handles redirects and headers configuration

Vercel

  • Zero-config deployments for Next.js, React, Vue, and more
  • Team deployment support
  • Environment variable management

Firebase

  • Interactive Firebase project setup
  • Hosting configuration management
  • Supports multiple site deployments

GitHub Pages

  • Automatic gh-pages setup
  • Handles build process
  • Custom domain support

Cloudflare Pages

  • Supports both Pages and Workers
  • Automatic Wrangler CLI configuration
  • Custom build settings

Render

  • Git-based deployments
  • Environment variable configuration
  • Build and start command setup

Railway

  • Automatic project linking
  • Environment setup
  • Service deployment management

Koyeb

  • Container-based deployments
  • Environment configuration
  • Service scaling support

Requirements πŸ“‹

  • Node.js 14 or higher
  • npm (or yarn/pnpm/bun)
  • Git (for certain platforms)

Troubleshooting πŸ”

If you encounter issues:

  1. Authentication Issues

    • Run deployease deploy again
    • The tool will guide you through the login process
  2. Missing Dependencies

    • DeployEase will automatically install required CLIs
    • If manual installation is needed, follow the prompts
  3. Build Errors

    • Check if your build command is correct
    • Verify your project structure
    • Ensure all dependencies are installed
  4. Deployment Failures

    • Check your internet connection
    • Verify platform-specific requirements
    • Follow the error messages guidance

Contributing 🀝

Contributions are welcome! Feel free to:

  • Open issues
  • Submit pull requests
  • Suggest new features
  • Improve documentation

License πŸ“„

ISC License

Author ✍️

David Mgbede


Made with ❀️ by DeployEase Team

About

DeployEase is a command-line tool that streamlines the deployment process for web applications across multiple platforms like Firebase, Netlify, and Vercel. Instead of manually configuring deployment settings for each service, DeployEase automates the setup, making deployment faster and hassle-free.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published