npm.io
6.0.0 • Published 3d agoCLI

@hugoalh/github-sodium

Licence
MIT
Version
6.0.0
Deps
7
Size
27 kB
Vulns
0
Weekly
0
Stars
3

GitHub Sodium (ES)

MIT

DistBoard @hugoalhGitHubJSRNPM

An ECMAScript module to provide an easier and simplified method for encrypt GitHub secrets.

Features

  • Support multiple implementations:
    • LibSodium: Default; Recommended by GitHub; Bad compatibility with bundler or compiler.
    • TweetSodium: Originally created by GitHub but deprecated and unmaintained (Repository), currently maintain here; Good compatibility with bundler or compiler.

Runtime Targets

Any runtime which support ECMAScript should able to use this; These runtimes are officially supported:

Runtime Permissions

This does not request any runtime permission.

Sources & Entrypoints

  • GitHub Raw
    https://raw.githubusercontent.com/hugoalh/github-sodium-es/{Tag}/mod.ts
  • JSR
    jsr:@hugoalh/github-sodium[@{Tag}]
  • NPM
    npm:@hugoalh/github-sodium[@{Tag}]
Name Path Description
. ./mod.ts Default (LibSodium).
./cli N/A CLI for default (LibSodium).
./libsodium ./libsodium.ts LibSodium.
./libsodium/cli ./libsodium/cli.ts CLI for LibSodium.
./tweetsodium ./tweetsodium.ts TweetSodium.
./tweetsodium/cli ./tweetsodium/cli.ts CLI for TweetSodium.

  • Different runtimes have vary support for the sources and entrypoints, visit the runtime documentation for more information.
  • It is recommended to include tag for immutability.
  • These are not part of the public APIs hence should not be used:
    • Benchmark/Test file (e.g.: example.bench.ts, example.test.ts).
    • Entrypoint name or path include any underscore prefix (e.g.: _example.ts, foo/_example.ts).
    • Identifier/Namespace/Symbol include any underscore prefix (e.g.: _example, Foo._example).

APIs

  • class GitHubSodiumSealer {
      constructor(publicKey: string);
      encrypt(value: string): string;
    }

CLIs

ghs {PublicKey} {SecretValue}

Examples

  • new GitHubSodiumSealer("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234").encrypt("plain-text-secret");
  • ghs '2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234' 'plain-text-secret'

Keywords