|
5 | 5 | </p> |
6 | 6 |
|
7 | 7 | <p align="center"> |
| 8 | +<b>Elide is a fast polyglot runtime, combining support for JavaScript, TypeScript, and Python.</b> |
| 9 | +<br /> |
| 10 | +<br /> |
8 | 11 | <i>elide: verb. to omit (a sound or syllable) when speaking. to join together; to merge.</i> |
| 12 | +<br /> |
| 13 | +<br /> |
9 | 14 | </p> |
10 | 15 |
|
11 | 16 | <hr /> |
12 | 17 |
|
| 18 | +<p align="center"> |
| 19 | + <a href="https://github.com/elide-dev/elide/actions/workflows/build.ci.yml"><img src="https://github.com/elide-dev/elide/actions/workflows/on.push.yml/badge.svg" /></a> |
| 20 | + <a href="https://codecov.io/gh/elide-dev/elide"><img src="https://codecov.io/gh/elide-dev/elide/branch/main/graph/badge.svg?token=FXxhJlpKG3" /></a> |
| 21 | + <a href="https://bestpractices.coreinfrastructure.org/projects/7690"><img src="https://bestpractices.coreinfrastructure.org/projects/7690/badge" /></a> |
| 22 | + <a href="https://github.com/elide-dev/elide"><img src="https://img.shields.io/badge/Contributor%20Covenant-v1.4-ff69b4.svg" alt="Code of Conduct" /></a> |
| 23 | + <br /> |
| 24 | + <a href="https://elide.dev/discord"><img src="https://img.shields.io/discord/1119121740161884252?b1&logo=discord&logoColor=white&label=Discord" /></a> |
| 25 | + <a href="https://262.ecma-international.org/13.0/"><img src="https://img.shields.io/badge/-ECMA2024-blue.svg?logo=javascript&logoColor=white" /></a> |
| 26 | + <a href="https://typescriptlang.org"><img src="https://img.shields.io/badge/-TypeScript-blue.svg?logo=typescript&logoColor=white" /></a> |
| 27 | + <img alt="Python 3.11.x" src="https://img.shields.io/badge/Python%203.11.x-green?style=flat&logo=python&logoColor=white&color=blue"> |
| 28 | + <a href="https://pkl-lang.org"><img src="https://img.shields.io/badge/-Apple%20Pkl-blue.svg?logo=apple&logoColor=white" /></a> |
| 29 | +</p> |
| 30 | + |
13 | 31 | <p align="center"> |
14 | 32 | Latest: <code>1.0.0-beta1</code> |
15 | 33 | </p> |
| 34 | +<p align="center"> |
| 35 | + Learn more at <a href="https://elide.dev">elide.dev</a> | <a href="https://docs.elide.dev">Docs, Guides, and Samples</a> |
| 36 | +</p> |
16 | 37 |
|
17 | 38 | <hr /> |
18 | 39 |
|
19 | | -Elide is a fast polyglot runtime, with support for JavaScript, TypeScript, and Python. |
20 | | - |
21 | 40 | > [!IMPORTANT] |
22 | | -> Elide is still in alpha, some features are not fully supported and others may fail on certain environments. |
| 41 | +> Careful! Elide is in beta. |
| 42 | +
|
| 43 | +## Usage |
| 44 | + |
| 45 | +Elide is like Node or Python. Use it to run things: |
| 46 | +```shell |
| 47 | +> elide ./my-typescript.{ts,js,py} |
| 48 | +``` |
| 49 | + |
| 50 | +You can use Node APIs. You can even mix languages: |
| 51 | +```python |
| 52 | +# sample.py |
| 53 | + |
| 54 | +def greeting(name = "Elide"): |
| 55 | + return f"Hello, {name}!" |
| 56 | +``` |
| 57 | +```typescript |
| 58 | +// sample.mts |
| 59 | +import sample from "./sample.py" |
| 60 | + |
| 61 | +// shows that this is typescript |
| 62 | +const x: number = 42; |
| 63 | + |
| 64 | +console.log(sample.greeting() + ` The answer is ${x}`); |
| 65 | +``` |
| 66 | +```shell |
| 67 | +> elide ./sample.mts |
| 68 | +Hello, Elide! The answer is 42 |
| 69 | +``` |
| 70 | + |
| 71 | +Read more about Elide's [feature highlights](https://elide.dev) |
23 | 72 |
|
24 | 73 | ## Installation |
25 | 74 |
|
26 | | -You can install the runtime by running: |
| 75 | +You can install Elide on Linux (amd64) or macOS (amd64/arm64) by running: |
27 | 76 |
|
28 | 77 | ```shell |
29 | 78 | curl -sSL --tlsv1.2 elide.sh | bash -s - |
30 | 79 | ``` |
31 | 80 |
|
32 | | -After installation, you can run `elide help` or `elide info` to see more information. |
| 81 | +After installation, you can run `elide --help` or `elide info` to see more information. |
| 82 | + |
| 83 | +### Using Elide via Docker |
| 84 | + |
| 85 | +We provide a container image, hosted on GitHub: |
33 | 86 |
|
34 | | -### Licensing |
| 87 | +``` |
| 88 | +docker run --rm -it ghcr.io/elide-dev/elide |
| 89 | +``` |
| 90 | + |
| 91 | +### Using Elide in GitHub Actions |
| 92 | + |
| 93 | +We provide a [setup action](https://github.com/marketplace/actions/setup-elide): |
| 94 | + |
| 95 | +```yaml |
| 96 | +- name: "Setup: Elide" |
| 97 | + uses: elide-dev/setup-elide@v2 |
| 98 | + with: |
| 99 | + # any tag from the `elide-dev/releases` repo; omit for latest |
| 100 | + version: 1.0.0-beta1 |
| 101 | +``` |
35 | 102 |
|
36 | | -Elide is licensed [under MIT](LICENSE) as of November 2022. Dependencies are scanned for license compatibility; the |
37 | | -report is available via FOSSA: |
| 103 | +### Using Elide via GitHub Codespaces |
38 | 104 |
|
39 | | -[](https://app.fossa.com/projects/git%2Bgithub.com%2Felide-dev%2Fv3?ref=badge_large) |
| 105 | +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: |
40 | 106 |
|
41 | | -Building and using Elide with Oracle GraalVM requires license compliance through Oracle. For more information, see the |
42 | | -[GraalVM website](https://graalvm.org). |
| 107 | +[](https://codespaces.new/elide-dev/elide?devcontainer_path=.devcontainer%2Fdevcontainer.json) |
43 | 108 |
|
44 | 109 | ## Contributing |
45 | 110 |
|
|
0 commit comments