https://github.com/elide-dev/elide
fast polyglot runtime
https://github.com/elide-dev/elide
graalvm java javascript jvm kotlin multiplatform native runtime
Last synced: 13 days ago
JSON representation
fast polyglot runtime
- Host: GitHub
- URL: https://github.com/elide-dev/elide
- Owner: elide-dev
- License: mit
- Created: 2022-06-22T05:48:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-10T21:31:25.000Z (6 months ago)
- Last Synced: 2024-10-13T15:42:57.869Z (6 months ago)
- Topics: graalvm, java, javascript, jvm, kotlin, multiplatform, native, runtime
- Language: Kotlin
- Homepage: https://elide.dev
- Size: 428 MB
- Stars: 100
- Watchers: 6
- Forks: 16
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
- Support: .github/SUPPORT.md
- Governance: .github/GOVERNANCE.md
Awesome Lists containing this project
- awesome-java - Elide
README
Elide is a fast polyglot runtime, combining support for JavaScript, TypeScript, and Python.
elide: verb. to omit (a sound or syllable) when speaking. to join together; to merge.
Latest:1.0.0-beta2
Learn more at elide.dev | Docs, Guides, and Samples
> [!IMPORTANT]
> Careful! Elide is in beta.## Usage
Elide is like Node or Python. Use it to run things:
```shell
> elide ./my-code.{ts,js,py}
```You can use Node APIs. You can even mix languages:
```typescript
// sample.mts// use node apis
import { readFileSync } from "node:fs"// interoperate across languages
import sample from "./sample.py"// this is typescript - no build step needed first, like deno or bun
const x: number = 42;console.log(sample.greeting() + ` The answer is ${x}`);
```
```python
# sample.pydef greeting(name = "Elide"):
return f"Hello, {name}!"
``````shell
> elide ./sample.mts
Hello, Elide! The answer is 42
```Read more about Elide's [feature highlights](https://elide.dev)
## Installation
You can install Elide in several ways:
### Script Install (Linux amd64 or macOS arm64)
```shell
curl -sSL --tlsv1.2 elide.sh | bash -s -
```### Homebrew (macOS)
```shell
brew tap elide-dev/elide
brew install elide
```After installation, you can run `elide --help` or `elide info` to see more information.
> [!NOTE]
> If you need a binary for a different architecture, please file an issue.### Using Elide via Docker
We provide a container image, hosted on GitHub:
```
docker run --rm -it ghcr.io/elide-dev/elide
```### Using Elide in GitHub Actions
We provide a [setup action](https://github.com/marketplace/actions/setup-elide):
```yaml
- name: "Setup: Elide"
uses: elide-dev/setup-elide@v2
with:
# any tag from the `elide-dev/releases` repo; omit for latest
version: 1.0.0-beta2
```### Using Elide via GitHub Codespaces
We provide a [GitHub Codespace](https://github.com/features/codespaces) with Elide pre-installed. You can click below to try it out, right from your browser:
[](https://codespaces.new/elide-dev/elide?devcontainer_path=.devcontainer%2Fdevcontainer.json)
## Contributing
Issue reports and pull requests are welcome! See our [contribution guidelines](CONTRIBUTING.md) or join our [discord community](https://elide.dev/discord) and let us know which features you would like to see implemented, or simply participate in the discussions to help shape the future of the project.
## Star History
[](https://star-history.com/#elide-dev/elide)
[1]: https://kotlinlang.org/
[2]: https://graalvm.org/
[3]: https://micronaut.io/
[4]: https://reactjs.org/
[5]: https://developers.google.com/protocol-buffers
[6]: https://grpc.io/
[7]: https://developers.google.com/closure
[8]: https://bazel.build/
[9]: https://gradle.org/
[10]: https://developers.google.com/speed/pagespeed/module
[11]: https://github.com/sgammon/elide/tree/master
[12]: https://github.com/sgammon/elide
[13]: https://buf.build
[14]: https://esbuild.github.io/