Skip to content

Latest commit

 

History

427 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

#️⃣ Entrypoints

Type Name Path Description
API . ./mod.ts Default (LibSodium).
API ./libsodium ./libsodium.ts LibSodium.
API ./tweetsodium ./tweetsodium.ts TweetSodium.
CLI ./cli N/A Default (LibSodium).
CLI ./libsodium/cli ./libsodium/cli.ts LibSodium.
CLI ./tweetsodium/cli ./tweetsodium/cli.ts TweetSodium.

Note

  • Different runtimes have vary support for the entrypoints, visit the runtime documentation for more information.
  • 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;
    }

Note

🧩 CLIs

  • ghs $PublicKey $SecretValue
  • ghs-ls $PublicKey $SecretValue
  • ghs-ts $PublicKey $SecretValue

✍️ Examples

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

About

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

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages