Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ether-CLI/Ether
A Command-Line Interface for the Swift Package Manager
https://github.com/Ether-CLI/Ether
cli command-line-interface command-line-tool ether homebrew spm swift swift-package-manager
Last synced: about 2 months ago
JSON representation
A Command-Line Interface for the Swift Package Manager
- Host: GitHub
- URL: https://github.com/Ether-CLI/Ether
- Owner: Ether-CLI
- License: mit
- Created: 2017-05-24T21:48:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-01T23:05:17.000Z (about 6 years ago)
- Last Synced: 2024-10-14T22:21:30.628Z (2 months ago)
- Topics: cli, command-line-interface, command-line-tool, ether, homebrew, spm, swift, swift-package-manager
- Language: Swift
- Homepage:
- Size: 437 KB
- Stars: 92
- Watchers: 6
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Ether
[![Mentioned in Awesome Vapor](https://awesome.re/mentioned-badge.svg)](https://github.com/Cellane/awesome-vapor)
![Built with Swift 4.2](https://img.shields.io/badge/swift-4.2-orange.svg)## What is it?
Ether is a CLI the integrates with SPM (Swift Package Manager), similar to NPM's command-line tool.
## How do I install it?
With Homebrew:
```bash
brew tap Ether-CLI/tap
brew install ether
```If you don't have, want, or can't use Homebrew, you can run the following script to install Ether:
```bash
curl https://raw.githubusercontent.com/calebkleveter/Ether/master/install.sh | bash
```## What features does it have?
### Search:
Searches for available packages:
ether search
Example result:```
Searching [Done]
vapor/vapor: 💧 A server-side Swift web framework.
License: MIT License
Stars: 13906vapor/toolbox: Simplifies common command line tasks when using Vapor
License: MIT License
Stars: 111matthijs2704/vapor-apns: Simple APNS Library for Vapor (Swift)
License: MIT License
Stars: 289vapor-community/postgresql: Robust PostgreSQL interface for Swift
License: MIT License
Stars: 99...
```### Install
Installs a package with its dependencies:
ether install
Example output:
```
Installing Dependency [Done]
📦 10 packages installed
```Package.swift:
```
dependencies: [
.package(url: "https://github.com/vapor/console.git", from: "3.0.0"),
.package(url: "https://github.com/vapor/core.git", from: "3.0.0"),
.package(url: "https://github.com/vapor/vapor.git", from: "3.0.0") <=== Added Package
]
```**Note:**
The install command has a rather interesting method of getting the proper package. Because you can have packages with the same name by different authors, Ether will run a search based on the argument you pass in and get the most stared result. If the name contains a slash (`/`), then the URL will be created directly without a search like this:
https://github.com/.git
Note that this is case insensitive.
### Fix Install
Fixes the install process when an error occurs during `install`, such as a git conflict.
ether fix-install
Example Output:
```
This may take some time...
Fixing Installation [Done]
```### Remove
Removes the package and its dependencies from the project:
ether remove
Example output:```
Removing Dependency [Done]
📦 2 packages removed
```### Update
Updates the packages. This only needs to be run if packages are manually added.
ether update
Example output:
Updating Packages [Done]
You can pass in the `--self` flag to update Ether to the latest version:
ether update --self
Example output:
Updating Ether [Done]
### Template Create
Saves the current state of the project as a template that can be used later when creating a new project.
ether template create
Example output:
Saving Template [Done]
### Template RemoveSaves the current state of the project as a template that can be used later when creating a new project.
ether template remove
Example output:
Deleting Template [Done]
### Template ListSaves the current state of the project as a template that can be used later when creating a new project.
ether template list
Example output:
- Vapor
- CLI### New
Creates a project. It can be a Swift package, a Swift executable, or a project from a previously saved template.
ether new
Example output:
Generating Project [Done]
### Version Latest
Sets all packages to their latest versions:
ether version latest
Example output:
Updating Package Versions [Done]
### Version All
Outputs the name of each package installed and its version
ether version all
Example output:
```
Getting Package Data [Done]
Bits: v1.0.0
Console: v2.1.0
Core: v2.0.2
Debugging: v1.0.0
JSON: v2.0.2
Node: v2.0.4
```## How do I make my package available?
If they are on GitHub, they already are! Ether uses GitHub's GraphQL API to fetch projects with a `Package.swift` file in the project root.
## What license is it under?
Ether is under the [MIT license](https://github.com/Ether-CLI/Ether/blob/master/LICENSE.md).