GitHub - crossroadlabs/ExpressCommandLine: Command line interface for Swift Express

Swift Express

Documentation
Live 🐧 server running Demo
Eating our own dog food

🐧 linux: ready Build Status Platform OS X | Linux ![GitHub license](https://img.shields.io/badge/license-GPL v3-lightgrey.svg) GitHub release

Being perfectionists, we took the best from what we think is the best: power of Play Framework and simplicity of Express.js

Swift Express is an asynchronous, simple, powerful, yet unopinionated web application server written in Swift

Usage

Create new project

This one creates a brand new initialized project, ready to use out of the box.

swift-express init YourProject

swift-express init has a few optional parameters:

  • --template git-url allows specifying the project template git URL. Defaults to https://github.com/crossroadlabs/ExpressTemplate.git.
  • --path path/to/dir specifies where to create the application. Defaults to the current directory.

Initialise project dependencies

To download and build project dependencies call bootstrap command:

Optional parameters:

  • --spm use Swift Package Manager instead of Carthage. Is default on Linux.
  • --carthage use Carthage as package manager. Is default for OS X. Not available on Linux.
  • --fetch fetch dependencies without building. Default is false. Always true for SPM as it has no separate build dependencies option.
  • --no-refetch build dependencies without fetching. Default is false. Always false for SPM.
  • --path path/to/the/app can be used outside the app's folder explicitly specifying the path to the app.

Update project dependencies

To update project dependencies according to Cartfile or Package.swift call update command:

Optional parameters:

  • --spm use Swift Package Manager instead of Carthage. Is default on Linux.
  • --carthage use Carthage as package manager. Is default for OS X. Not available on Linux.
  • --fetch fetch dependencies without building. Default is false. Always true for SPM as it has no separate build dependencies option.
  • --path path/to/the/app can be used outside the app's folder explicitly specifying the path to the app.

Build project

Command line build interface for Swift Express projects.

Build configuration can be specified like this:

swift-express build release

Default configuration is debug

Optional parameters:

  • --spm use Swift Package Manager as build tool. Is default on Linux.
  • --xcode use Xcode as build tool. Is default for OS X. Not available on Linux.
  • --dispatch build with Dispatch support. Is default on OS X.
  • --force force rebuild. Essentially cleans before building.
  • --path path/to/the/app can be used outside the app's folder explicitly specifying the path to the app.

Run the app

Command line interface for running Swift Express apps.

Build configuration can be specified like this:

swift-express run release

Default configuration is debug

Optional parameters:

  • --spm run app built by Swift Package Manager. Is default on Linux.
  • --xcode run app built by Xcode. Is default for OS X. Not available on Linux.
  • --path path/to/the/app can be used outside of the app's folder explicitly specifying the path to the app.

Print help

This one prints short documentation for all the commands available.

Also can print short documentation for command

swift-express help bootstrap

Installation

Please refer to the main Swift Express article here: https://github.com/crossroadlabs/Express/blob/master/doc/gettingstarted/installing.md

Changelog

  • v0.2: Swift Package Manager support.
  • v0.1: Initial Public Release

Contributing

To get started, sign the Contributor License Agreement.