Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ken-matsui/base64-cli

A CLI tool for base64 which supports both native and WebAssembly
https://github.com/ken-matsui/base64-cli

Last synced: 3 months ago
JSON representation

A CLI tool for base64 which supports both native and WebAssembly

Awesome Lists containing this project

README

        

# base64-cli [![crates.io version](https://img.shields.io/crates/v/base64-cli.svg)](https://crates.io/crates/base64-cli) [![crates.io downloads](https://img.shields.io/crates/d/base64-cli.svg)](https://crates.io/crates/base64-cli)

A CLI tool for base64 which supports both native and WebAssembly

*Note: This project is a fork of the original Rust implementation: [rust-base64](https://github.com/marshallpierce/rust-base64).*

## Installation

You can install this using the `cargo install` command:

```bash
$ cargo install base64-cli
```

### WebAssembly

This application also provides a wasm package.
You can install it using [`wapm`](https://wapm.io/help/install) by the following command:

```bash
$ wapm install ken-matsui/base64
```

## Usage

```bash
$ base64-cli --help
base64-cli 0.1.0
A CLI tool for base64

USAGE:
base64

OPTIONS:
-h, --help Print help information
-V, --version Print version information

SUBCOMMANDS:
decode Decode base64 string to string
encode Encode string to base64 string
help Print this message or the help of the given subcommand(s)
```

### WebAssembly

```bash
$ wapm run base64 --help
base64-cli 0.1.0
A CLI tool for base64

USAGE:
base64

OPTIONS:
-h, --help Print help information
-V, --version Print version information

SUBCOMMANDS:
decode Decode base64 string to string
encode Encode string to base64 string
help Print this message or the help of the given subcommand(s)
```

## Examples

### encode

```bash
$ base64-cli encode hello
aGVsbG8=
```

### decode

```bash
$ base64-cli decode aGVsbG8=
hello
```

### WebAssembly

#### encode

```bash
$ wapm run base64 encode hello
aGVsbG8=
```

#### decode

```bash
$ wapm run base64 decode aGVsbG8=
hello
```

## Contribution

### Build

```bash
$ cargo build
```

Or you can directly execute the binary:

```bash
$ cargo run
```

#### WebAssembly

```bash
$ rustup target add wasm32-wasi
$ cargo build --target wasm32-wasi
$ wasmer run target/wasm32-wasi/debug/base64-cli.wasm encode hello
```

### Test

This command can also test C API.

```bash
$ cargo build
$ cargo test
```

### Publish

#### [GitHub Releases](https://github.com/ken-matsui/base64-cli/tags)

```bash
$ git tag v0.1.0
$ git push origin v0.1.0
```

#### [crates.io](https://crates.io/)

```bash
$ cargo publish
```

#### [wapm.io](https://wapm.io/)

```bash
$ cargo build --release --target wasm32-wasi
$ wapm publish
```