Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: Elide Alpha 10 #1046

Merged
merged 340 commits into from
Jun 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
340 commits
Select commit Hold shift + click to select a range
6528b8e
fix: warnings/build failures after strictness upgrade
sgammon May 31, 2024
84ff19c
chore: upgrade `atomicfu` → `0.24.0`
sgammon May 31, 2024
0d7db00
chore: add `cite` + `kapshot`, upgrade `redacted` plugins
sgammon May 31, 2024
2048d94
chore: update lockfiles
sgammon May 31, 2024
d6eab72
chore: update all module pins
sgammon May 31, 2024
b1dea11
chore: update kjs package lock
sgammon May 31, 2024
7cd702a
chore: run formatters
sgammon May 31, 2024
302ee5b
fix: drop `ruff_linter` for now
sgammon May 31, 2024
112daa9
feat: type sharing for rust
sgammon May 31, 2024
abc3ca4
chore: set daemon toolchain version
sgammon May 31, 2024
f4c26aa
chore: gen cli tooling model
sgammon May 31, 2024
d362365
fix: compile native transports with `-fPIC`
sgammon May 31, 2024
7fd4d43
feat: api/lib version for cli native bridge
sgammon May 31, 2024
981399f
chore: more rust upgrades/deps
sgammon May 31, 2024
d496bf7
chore: tooling api work and fixes
sgammon May 31, 2024
caaf8d4
chore: update cargo lock
sgammon May 31, 2024
8f025a7
chore: update gradle lockfiles
sgammon May 31, 2024
01184aa
chore: run formatters
sgammon May 31, 2024
ff03411
fix: rustflags in ci
sgammon May 31, 2024
a1ac820
feat: initial diagnostics model
sgammon May 31, 2024
6f76989
feat: further tooling api work, fix capnp build issue
sgammon May 31, 2024
3c59b19
chore: update lockfiles and api pins
sgammon May 31, 2024
b7534b9
chore: run formatters
sgammon May 31, 2024
c288891
fix: drop deserialization capability for diagnostic notes
sgammon May 31, 2024
f34a64a
fix: symbol rewrite from formatter
sgammon May 31, 2024
3b89f11
fix: double caching of rust outputs
sgammon May 31, 2024
83c2632
chore: cleanups from review
sgammon May 31, 2024
4b98c10
chore: update native bridge header
sgammon May 31, 2024
3621be8
chore: don't build dist tar/zip in ci
sgammon May 31, 2024
8ffe4f0
feat: upgrade `mosaic` → `0.13.0` (#955)
sgammon Jun 1, 2024
c7014ca
feat(makefile): add js runtime build targets (#957)
darvld Jun 3, 2024
7b356b2
feat(sqlite): add native sqlite support + module
sgammon Jun 2, 2024
a9a17c5
fix: typescript support
sgammon Jun 4, 2024
f737181
chore: build cleanup (sicko mode)
sgammon Jun 3, 2024
2d1fbbd
feat: entrypoint v2, pt2
sgammon Jun 4, 2024
2275acc
chore: initial panama layouts
sgammon Jun 4, 2024
fdbf5de
chore: native header gen for umbrella lib
sgammon Jun 4, 2024
a6f0525
fixup! don't use daemon to clean third party code
sgammon Jun 4, 2024
0657e05
fix: typescript blocklisted methods (tmp)
sgammon Jun 5, 2024
2543d06
fix: drop `apr` cargo dep
sgammon Jun 5, 2024
5cb2d97
fix: regular cli entrypoint (non-suspending)
sgammon Jun 5, 2024
987c5ae
fix: kqueue native build paths
sgammon Jun 5, 2024
9c9de8d
feat: support for `elide:`-prefixed builtins
sgammon Jun 5, 2024
2de604e
fix: unwind coroutines for error reporting in cli
sgammon Jun 5, 2024
411629a
chore: update gvm configs in `runtime` module
sgammon Jun 5, 2024
753c26a
fix: restore previous version of `mosaic`
sgammon Jun 5, 2024
befdac8
chore: restore to gvm mainline
sgammon Jun 5, 2024
fd4a3b5
fixup! native build args for `runtime`
sgammon Jun 5, 2024
a0f8e2e
fixup! python tests
sgammon Jun 5, 2024
16d754b
fix: aot compiler classpath (part 1)
sgammon Jun 5, 2024
b2c526b
chore: native entrypoint flag adjustments/cleanup
sgammon Jun 6, 2024
b4abc25
fix: netty/epoll native transport
sgammon Jun 6, 2024
0466486
chore: adjust js server script for upcoming benchmarks
sgammon Jun 6, 2024
0038a98
chore: benchmark and pgo training scripts
sgammon Jun 6, 2024
93bc9dd
chore: update lockfiles/verification metadata
sgammon Jun 6, 2024
6b05eb2
fix: missing dependency analysis plugin
sgammon Jun 6, 2024
13432ea
chore: apply dependency advice
sgammon Jun 6, 2024
c7a600b
fix: missing wasm plugin
sgammon Jun 6, 2024
e3efc3e
chore(deps): Bump cssnano from 6.1.2 to 7.0.2
dependabot[bot] Jun 5, 2024
6b1a93a
chore(deps-dev): Bump prettier from 3.3.0 to 3.3.1
dependabot[bot] Jun 5, 2024
1127021
chore(deps-dev): Bump @types/node from 20.14.1 to 20.14.2
dependabot[bot] Jun 5, 2024
4e3cacd
chore(deps): Bump github/codeql-action from 3.25.6 to 3.25.8
dependabot[bot] Jun 4, 2024
f4d2e36
chore(deps): Bump react and react-dom
dependabot[bot] Jun 4, 2024
db00de3
chore: lockfile/verification metadata/baseline updates
sgammon Jun 6, 2024
35e9171
chore: run prettier
sgammon Jun 6, 2024
a798274
chore: fix git attrs (ignore generated panama code)
sgammon Jun 6, 2024
3b11b8e
chore: fixup coverage ignore paths
sgammon Jun 6, 2024
20b7c5c
fix(server): allow setting response headers
sgammon Jun 6, 2024
bf06bcd
fix: dangling `wrappers` project (unused)
sgammon Jun 6, 2024
8ba7123
chore: update pgo profiles, setup bench image
sgammon Jun 6, 2024
d0db3ba
chore: amendments to bench image and js server script
sgammon Jun 6, 2024
bef59e5
chore: re-train profiles
sgammon Jun 6, 2024
d6d70bf
fix: lto and optimization flags under pgo
sgammon Jun 6, 2024
72ad8a1
chore: ability to set binary arch with `elide.march` (defaults to com…
sgammon Jun 6, 2024
1985102
fix: polluted deps in native epoll module
sgammon Jun 6, 2024
1c22193
fix: build and ship wasm runtime config
sgammon Jun 6, 2024
a3a447c
fix: seal profiles after each pgo training step
sgammon Jun 6, 2024
b77d17d
fix: entrypoint for bench image
sgammon Jun 6, 2024
78db8ca
fix: missing epoll export at `epollBusyWait0`
sgammon Jun 6, 2024
3f781c9
chore: pgo/bench script cleanup
sgammon Jun 6, 2024
d8b108c
fix(runtime): jna on non-macOS operating systems
sgammon Jun 7, 2024
ff1b7ca
chore(deps): Bump step-security/harden-runner from 2.8.0 to 2.8.1
dependabot[bot] Jun 7, 2024
8a6b7d9
fix(graalvm): hybrid vfs should implement GuestVFS.
darvld Jun 4, 2024
d79f4a0
feat(graalvm): add the VFS event listener API.
darvld Jun 4, 2024
6a31082
fix(graalvm): node fs should share a VFS instance with the context.
darvld Jun 4, 2024
0f9b83e
feat(cli): register vfs listeners from DI context.
darvld Jun 4, 2024
61fc70c
fix(graalvm): add newline at the end of the file.
darvld Jun 4, 2024
2562a0d
fix(graalvm): register vfs listeners in guest tests.
darvld Jun 4, 2024
e6f30c9
fix(gralvm): update api pins.
darvld Jun 4, 2024
e403533
fix(graalvm): defer node vfs instance acquisition until runtime.
darvld Jun 6, 2024
6f8d5bc
fix(gralvm): correctly configure vfs listeners in dual tests.
darvld Jun 6, 2024
2f53ad1
chore(graalvm): add missing copyright header.
darvld Jun 6, 2024
b0fdd79
fix(graalvm): js module tests should reuse engine from base class.
darvld Jun 6, 2024
d84b3cc
fix(graalvm): node fs test should use injected value.
darvld Jun 6, 2024
384539c
fix(graalvm): update embedded js modules and init script.
darvld Jun 6, 2024
ec63c84
fix(python): enable DI in python tests.
darvld Jun 6, 2024
b31f98a
fix(graalvm): drop redundant legacy builtin modules test.
darvld Jun 7, 2024
e60de64
fix(graalvm): update embedded javascript bundles.
darvld Jun 7, 2024
bcb7c8b
fix: os info on linux amd64
sgammon Jun 7, 2024
55c83e3
fix: jna os info on linux/macos
sgammon Jun 8, 2024
c94d243
fix: `process` global in js
sgammon Jun 9, 2024
9b3d37f
fix(graalvm): cast err with python + embedded vfs
sgammon Jun 9, 2024
4d864d7
chore(deps): Bump github/codeql-action from 3.25.8 to 3.25.9
dependabot[bot] Jun 12, 2024
ba13e2e
chore(deps): Bump actions/checkout from 4.1.6 to 4.1.7
dependabot[bot] Jun 12, 2024
b3d53eb
chore(deps-dev): Bump prettier from 3.3.1 to 3.3.2
dependabot[bot] Jun 11, 2024
c951547
chore(deps-dev): Bump @typescript-eslint/parser from 7.12.0 to 7.13.0
dependabot[bot] Jun 10, 2024
0817db6
chore(deps): Bump browserslist from 4.23.0 to 4.23.1
dependabot[bot] Jun 10, 2024
c606ae4
chore(deps-dev): Bump @typescript-eslint/eslint-plugin
dependabot[bot] Jun 10, 2024
30b0c81
chore(deps): Bump actions-rust-lang/setup-rust-toolchain
dependabot[bot] Jun 10, 2024
00da488
chore: general npm updates
sgammon Jun 13, 2024
4e28e9d
chore(deps): Bump esbuild from 0.21.4 to 0.21.5
dependabot[bot] Jun 13, 2024
2ee59ad
chore: general version upgrades/fixes
sgammon Jun 13, 2024
616f63d
chore: update lockfiles/verification metadata
sgammon Jun 13, 2024
0ecb6a8
feat: jna over static jni
sgammon Jun 13, 2024
df921c9
fix(sqlite): static jni for sqlite
sgammon Jun 13, 2024
fc36c63
fix(typescript): fixup ts module loader
sgammon Jun 13, 2024
eab9778
hotfix: sqlite native lib name
sgammon Jun 13, 2024
824caf9
chore(deps): Bump codecov/codecov-action from 4.4.1 to 4.5.0
dependabot[bot] Jun 13, 2024
0105a4c
chore(deps): Bump github/codeql-action from 3.25.9 to 3.25.10
dependabot[bot] Jun 13, 2024
7be34a6
chore(deps): Bump bufbuild/buf-setup-action from 1.32.2 to 1.33.0
dependabot[bot] Jun 13, 2024
fe0467e
chore(deps): Bump gradle/actions from 3.3.2 to 3.4.0
dependabot[bot] Jun 13, 2024
e71e380
hotfix: python paths for `24.0.x`
sgammon Jun 13, 2024
185734d
chore: re-enable ruby
sgammon Jun 13, 2024
125a4fa
hotfix: temporarily pin release to `-O1`
sgammon Jun 13, 2024
1327943
fix(sqlite): static initialization
sgammon Jun 13, 2024
e34d3a9
feat(transport): static native `io_uring` support
sgammon Jun 14, 2024
81286ad
feat: native static crypto with boringssl
sgammon Jun 14, 2024
e6b187c
chore(deps): Bump gradle/wrapper-validation-action from 3.3.2 to 3.4.0
dependabot[bot] Jun 14, 2024
1d6d349
feat: static jni support for `jansi`
sgammon Jun 14, 2024
af02f0c
feat(graalvm): node buffer module implementation.
darvld Jun 1, 2024
07c2659
fix(graalvm): assertion error message in node compliance tests.
darvld Jun 15, 2024
b1e6955
chore(graalvm): document nodejs buffer module implementation.
darvld Jun 16, 2024
f275ec9
chore(graalvm): update api pins.
darvld Jun 16, 2024
9284f16
fix(graalvm): apply detekt fixes.
darvld Jun 16, 2024
b12776c
fix(graalvm): apply linter fixes, suppress false positives.
darvld Jun 17, 2024
2baba11
fix(graalvm): create parent dir before unpacking native libraries.
darvld Jun 17, 2024
567c0b7
fix(graalvm): add proxy implementations for node buffer module.
darvld Jun 17, 2024
b7615e6
fix(graalvm): incorrect field name in node.js file type.
darvld Jun 17, 2024
f4b9a31
fix(graalvm): update api pins.
darvld Jun 17, 2024
2342926
fix(graalvm): suppress false positive linter error.
darvld Jun 17, 2024
c6b757e
chore(deps): Bump gradle/actions from 3.4.0 to 3.4.2
dependabot[bot] Jun 17, 2024
8b18a2a
chore(deps): Bump gradle/wrapper-validation-action from 3.4.0 to 3.4.2
dependabot[bot] Jun 17, 2024
820e910
chore(deps): Bump mozilla-actions/sccache-action from 0.0.4 to 0.0.5
dependabot[bot] Jun 17, 2024
1c8616e
chore: build-from-scratch improvements
sgammon Jun 15, 2024
078f1ce
chore: add `zlib` submodule
sgammon Jun 15, 2024
492cb0f
chore: add `graalvm` submodule
sgammon Jun 15, 2024
d8058d6
chore: ability to build gvm module from `third_party`
sgammon Jun 15, 2024
63b6510
chore: build integration for custom gvm/jvm home
sgammon Jun 15, 2024
e98424d
feat: introduce context finalization plugin event
sgammon Jun 17, 2024
d672c26
feat(graalvm): support for internal symbols
sgammon Jun 17, 2024
7131e7b
fix: lazy setup of native lib features
sgammon Jun 17, 2024
02fb428
fix: issue with incomplete native image classpath
sgammon Jun 17, 2024
e621cf5
fix: stray unbalanced `ctx.enter`
sgammon Jun 17, 2024
a5f4ccf
feat(graalvm): eagerly evaluate built-in js modules
sgammon Jun 17, 2024
4366a54
chore: cleanup unused native libs in `server` module
sgammon Jun 17, 2024
638c9b0
feat(runtime): initial support for `-D` flags via cli
sgammon Jun 17, 2024
41a0b7e
chore: improvements to `auximage` tool
sgammon Jun 17, 2024
02db2b4
fix: enterprise truffle dependencies
sgammon Jun 17, 2024
e7030a5
fix: make sure gvm engine is always closed after use
sgammon Jun 17, 2024
5bbcd37
feat(runtime): init security providers at build time
sgammon Jun 17, 2024
1e6e64f
chore: even simpler test js script
sgammon Jun 17, 2024
ce45304
chore: update `graalvm` module pins and baselines
sgammon Jun 17, 2024
6cc05ba
chore: disable `cli` project until `runtime` is mature
sgammon Jun 17, 2024
53c7cf6
chore: update api pins for `engine` module
sgammon Jun 17, 2024
3562e82
fix: don't rebuild `runtime` module in ci unless needed
sgammon Jun 17, 2024
017bbb6
fixup! security providers flag
sgammon Jun 17, 2024
8dabddd
fixup! conscrypt enablement
sgammon Jun 17, 2024
2c41d8a
fix: library exclusions, aux cache dep
sgammon Jun 17, 2024
48322c2
fixup! enable source cache during module preload
sgammon Jun 17, 2024
4a39d13
chore: move some experimental flags to stage
sgammon Jun 17, 2024
27d618c
fix: more specific runtime build command
sgammon Jun 17, 2024
efb068e
feat(graalvm): harden runtime internals
sgammon Jun 18, 2024
7917624
fix: provide `console` global directly from host
sgammon Jun 18, 2024
0a7ecf0
feat: stronger assertion error messages
sgammon Jun 18, 2024
5ec76e9
fix: exotic types are truthy by default
sgammon Jun 18, 2024
dabd1e5
fix: node `PathBuf` as proxy object
sgammon Jun 18, 2024
a499d30
test: switch to built-in testsuite for fs tests
sgammon Jun 18, 2024
393f2bd
chore: update `runtime` and rebuild facades
sgammon Jun 18, 2024
506609f
chore: root entrypoint should be suspending
sgammon Jun 18, 2024
bfc4720
fix: don't initialize all installed langs by default (part 1)
sgammon Jun 18, 2024
893da1d
chore: update api pins
sgammon Jun 18, 2024
01ef310
chore: update detekt baselines
sgammon Jun 18, 2024
f799e35
chore: run formatters
sgammon Jun 18, 2024
6ddd330
chore(deps-dev): Bump @types/node from 20.14.2 to 20.14.3
dependabot[bot] Jun 17, 2024
fc442b5
chore(deps-dev): Bump @typescript-eslint/eslint-plugin
dependabot[bot] Jun 17, 2024
7185fe8
chore(deps-dev): Bump @typescript-eslint/parser from 7.13.0 to 7.13.1
dependabot[bot] Jun 17, 2024
ea27b6c
fix: `buffer` changes to runtime module
sgammon Jun 18, 2024
03f6fee
test: squelch broken `buffer` module tests
sgammon Jun 18, 2024
5e4d2b5
chore: rebuild `runtime` facades
sgammon Jun 18, 2024
ff7dd33
fix: hiding of internals before context finalization
sgammon Jun 18, 2024
6b2cfc3
fix: checkout gh token in ci
sgammon Jun 18, 2024
97eb6e3
fix: over-allocation in `HostPlatform`
sgammon Jun 18, 2024
153c2ea
fix: better static init for typescript
sgammon Jun 18, 2024
4b69b07
chore: drop js facade/gz compression for module bundles
sgammon Jun 18, 2024
07a335d
chore: cleanup for `HostPlatform` changes
sgammon Jun 18, 2024
b3c2f01
fix: guard facade init with enter/leave
sgammon Jun 18, 2024
2dafc83
fix: `ForkJoinPool` parallelism, test forks
sgammon Jun 18, 2024
11dfd5b
fix: tune compiler threads
sgammon Jun 18, 2024
d743728
chore: initialize js plugin pre-emptively during build
sgammon Jun 18, 2024
546b011
fix: provide `EventTarget` at global name
sgammon Jun 18, 2024
09e5af4
fix: over-allocation when reading bundles
sgammon Jun 18, 2024
2305e99
fix: provide globals for `TypeError` and `ValueError`
sgammon Jun 18, 2024
43c0a74
chore: tune `js` engine params
sgammon Jun 18, 2024
4c47c43
fix: `runtime` module gc thread settings
sgammon Jun 18, 2024
e68ead5
fix: native load at boot, workdir manager over-allocation
sgammon Jun 18, 2024
76e4e86
fix: language init flags
sgammon Jun 18, 2024
00465b0
test: updates to js tests for error types
sgammon Jun 18, 2024
9c86f36
fix: ignore broken tests in buffer module
sgammon Jun 18, 2024
0e12733
fix: temporarily disable lang engine self-tests
sgammon Jun 18, 2024
a426d41
chore: cleanup unused resources
sgammon Jun 18, 2024
d4ca16c
chore: update `runtime` submodule
sgammon Jun 18, 2024
c24c09d
feat: `TypeScriptFeature` for build-time init
sgammon Jun 18, 2024
f728058
chore: eliminate compression for module bundles, cleanup unused facad…
sgammon Jun 18, 2024
c87b4e7
fix: always build with ts/wasm for `graalvm` module
sgammon Jun 18, 2024
72044af
chore: update detekt baselines
sgammon Jun 18, 2024
76a87ef
chore: update api pins
sgammon Jun 18, 2024
1926553
chore: run spotless
sgammon Jun 18, 2024
8b2546f
chore: update `graalvm-ts` module pin
sgammon Jun 18, 2024
87fb1e6
fix: build python runtime facade as part of natives
sgammon Jun 18, 2024
3fb0fad
fix: python modules bundle
sgammon Jun 18, 2024
47d0510
fix: `zlib` should clone shallow
sgammon Jun 18, 2024
552d4e8
fix: don't iterate over all bindings when finalizing
sgammon Jun 18, 2024
3f958a6
chore: document `elide.runtime.intrinsics.Symbol`
sgammon Jun 18, 2024
849d3a3
fix: enter context once for all embedded scripts
sgammon Jun 18, 2024
84bfbfe
fix: polyfill errors should crash the runtime
sgammon Jun 18, 2024
d308001
fix: restore rebuilt facade script
sgammon Jun 18, 2024
951ffcb
fix: wrap native js errors in js types
sgammon Jun 18, 2024
fca8a31
chore: update polyfills
sgammon Jun 18, 2024
03cd105
chore: update broken buffer tests
sgammon Jun 18, 2024
440dbf5
chore: update js modules
sgammon Jun 18, 2024
765e35f
chore: update `runtime` module
sgammon Jun 18, 2024
0f93ebe
chore(deps): Bump graalvm/setup-graalvm from 1.2.1 to 1.2.2
dependabot[bot] Jun 18, 2024
0f32fa5
chore(deps-dev): Bump @types/node from 20.14.2 to 20.14.5
dependabot[bot] Jun 18, 2024
eeb53ca
chore(deps): Bump bufbuild/buf-setup-action from 1.33.0 to 1.34.0
dependabot[bot] Jun 21, 2024
0f0b3c0
fix: package of fixes for main `Elide` object
sgammon Jun 19, 2024
41fac82
feat(js): native support for js encoding api
sgammon Jun 23, 2024
352fabd
chore(deps): Bump @types/node from 20.14.6 to 20.14.8
dependabot[bot] Jun 23, 2024
097f6ab
chore(deps): Bump typescript from 5.4.5 to 5.5.2
dependabot[bot] Jun 23, 2024
2a9de64
chore(deps): Bump cssnano from 7.0.2 to 7.0.3
dependabot[bot] Jun 19, 2024
04eb3ad
chore: version bump → `1.0.0-alpha10`
sgammon Jun 23, 2024
794a14e
fix: js encoding should mount factories
sgammon Jun 23, 2024
396f7e8
chore: update container images → `1.0.0-alpha10`
sgammon Jun 23, 2024
f7db96a
chore: artifact version bump → `1.0.0-alpha10`
sgammon Jun 23, 2024
796804c
fix: lateness threshold for `JsTimersTest`
sgammon Jun 23, 2024
d2a87f1
fix: s3 publishing to r2
sgammon Jun 24, 2024
b1d0c9c
fix: build in `rpc` module
sgammon Jun 24, 2024
ce34e25
fix: package of release fixes for `linux-amd64`
sgammon Jun 24, 2024
56a3c1f
chore: update gvm configs for release
sgammon Jun 24, 2024
a23121d
chore: update `runtime` → `1.0.0-alpha10`
sgammon Jun 24, 2024
20bbce5
fix: ci native release build
sgammon Jun 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
7 changes: 5 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
LABEL org.opencontainers.image.vendor=Elide
LABEL org.opencontainers.image.title="Elide Codespace"
LABEL org.opencontainers.image.description="Elide runtime within a GitHub Codespace"
LABEL org.opencontainers.image.version=1.0.0-alpha9
LABEL org.opencontainers.image.version=1.0.0-alpha10
LABEL org.opencontainers.image.url=https://github.com/elide-dev/elide
LABEL org.opencontainers.image.base.name=mcr.microsoft.com/devcontainers/base
LABEL org.opencontainers.image.source=https://github.com/elide-dev/elide/blob/main/.devcontainer/Elide.devcontainer
Expand All @@ -25,7 +25,10 @@ RUN apt-get update \
&& elide --help \
&& elide selftest \
&& elide info \
&& mkdir -p $HOME/.elide \
&& echo "Elide codespace container image ready."

ENTRYPOINT ["/usr/local/share/docker-init.sh"]
COPY ./elide-home/* /home/vscode/.elide/
RUN chown -R $(whoami) $HOME/.elide

CMD ["sleep", "infinity"]
36 changes: 34 additions & 2 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,11 @@ elide selftest
**To run a JavaScript terminal:**

```
elide shell
elide
```
Or:
```
elide repl
```

**Encode some JSON:**
Expand Down Expand Up @@ -69,11 +73,39 @@ elide serve tools/scripts/server.js
**To run a Python terminal:**

```
elide shell --python
elide repl --python
```

**To see `.env` environment:**

```python
import os; print(os.environ)
```

**To see all environment, including host env:**

```
elide repl --python --host:allow-env
```

```python
import os; print(os.environ)
```

### Ruby

**To run a Ruby terminal:**

```
elide repl --ruby
```

**Say hello:**

```ruby
puts "Hello, Elide!"
```

## Further Reading

Check out Elide's [docs](https://docs.elide.dev) for more exercises.
3 changes: 1 addition & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
"postAttachCommand": "echo 'ELIDE_CODESPACE=true' > .env && touch package.json && code .devcontainer/README.md && clear && elide --help",
"overrideCommand": false,
"features": {
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/docker-from-docker:1": {}
"ghcr.io/devcontainers/features/git:1": {}
},
"customizations": {
"codespaces": {
Expand Down
File renamed without changes.
13 changes: 13 additions & 0 deletions .devcontainer/elide-home/nanorc/args.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
syntax "ARGS"

NUMBER: "\<[-]?[0-9]*([Ee][+-]?[0-9]+)?\>" "\<[-]?[0](\.[0-9]+)?\>"
STRING: "[a-zA-Z]+[a-zA-Z0-9]*"
COMMAND: "\<(console|grab|inspect|classloader)\>"
NULL: "\<null\>"
BOOLEAN: "\<(true|false)\>"
VARIABLE: "(\[|,)\s*[a-zA-Z0-9]*\s*:"
OPTION: "(^|\s+)[-]{1,2}[a-zA-Z0-9\?]+(\s+|$|=)"
PLAIN: "(:|\[|,|\]|=)"
$BLOCK_COMMENT: "/*, */"
$LINE_COMMENT: "//"
$BALANCED_DELIMITERS "", '"
7 changes: 7 additions & 0 deletions .devcontainer/elide-home/nanorc/command.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
syntax "COMMAND"

COMMAND: "[a-zA-Z]+[a-zA-Z0-9]*"
VARIABLE: ".*="
PLAIN: "(\"|'|\.|=|:|\[|,|\])"
COMMENT: "(^|\\s+)#.*$"
$BLOCK_COMMENT: "/*, */"
73 changes: 73 additions & 0 deletions .devcontainer/elide-home/nanorc/dark.nanorctheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#
# This file describes a default scheme for nanorc syntax highlighting for terminals with dark background
#
# Lines that start with a # character are comments.
# Comments are ignored. Empty lines are ignored too. Leading/trailing white
# space characters are removed before theme file is processed.
#
# Each line of the theme file describes a token type and how this token type
# should be colored (highlighted). The first word on each line is the name
# of the token type. After the name of the token type at least one white space
# character must follow, and then a text and background color
# for the highlighting must be specified, separated by a comma. No spaces
# are allowed inside color definition (that is, color definition is considered
# a single word, despite a possible comma).
#
# Background color can be omitted (in which case default background color
# of the terminal will be used). If you are omitting the background color,
# a comma may be omitted also. Likewise, a text color can be omitted,
# but comma must be present in this case.
#
# Author: Yuri Sakhno
# ysakhno at gmail dot com
#
# https://github.com/YSakhno/nanorc/
#

PLAIN white
FUNCTION brightgreen
STRING brightcyan
COMMENT cyan
DOC_COMMENT brightcyan
TYPE brightblue
BOOLEAN brightwhite
NULL cyan
NUMBER blue
VARIABLE brightyellow
PACKAGE green,faint
CLASS green
CONSTANT yellow
OPERATOR yellow
COMMAND brightgreen
OPTION yellow
KEYWORD brightwhite
JUMP brightcyan
SECTION brightgreen
ATTRIBUTE green
PATH brightblue
EXECUTABLE green
LINK cyan
TITLE brightblue
ESCAPE black,cyan
DEBUG brightmagenta
ERROR red
TODO brightwhite,cyan
WARNING ,red
WHITESPACE ,green
HEADER bold,!blue,~grey7,underline
ROW_NUMBER bold,!blue,~grey7
ROW_STYLE ,~grey15
LIST_BACKGROUND ,~grey42
LIST_GROUP yellow
#
# mixin
#
+FUNCTION FUNCTION: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" \n PLAIN: "[(]"
+LINT WHITESPACE: "[[:space:]]+$" \n WARNING: "\t*"
+LONG_LINE_WARNING WARNING: "^.{81,}$"
#
# parser
#
$LINE_COMMENT COMMENT \n TODO: "FIXME|TODO|XXX"
$BLOCK_COMMENT COMMENT \n DOC_COMMENT: startWith=/** \n TODO: "FIXME|TODO|XXX"
$BALANCED_DELIMITERS STRING \n VARIABLE: continueAs=\s*:
24 changes: 24 additions & 0 deletions .devcontainer/elide-home/nanorc/java.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
syntax "Java" "\.java$"

# Class
SECTION: "class +[A-Za-z0-9]+ *((implements|extends) +[A-Za-z0-9.]+)?"

# Annotation
ESCAPE: "@[A-Za-z]+"

# +FUNCTION
TYPE: "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>"
KEYWORD: "\<(case|catch|default|do|else|finally|for|if|return|switch|throw|try|while)\>"
PACKAGE: "(([a-z]{2,}[.]{1}){2,10}([a-z]{2,}){0,1})"
CLASS: "\<[A-Z]{0,2}([A-Z]{1}[a-z]+){1,}\>"
KEYWORD: "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>"
JUMP: "\<(break|continue)\>"
NULL: "\<(null)\>"
BOOLEAN: "\<(true|false)\>"
CONSTANT: "\<[A-Z]+([_]{1}[A-Z]+){0,}\>"
OPERATOR: "[-+/*=<>?:!~%&|]"
~NUMBER: "\b(([1-9][0-9]+)|0+)\.[0-9]+\b" "\b[1-9][0-9]*\b" "\b0[0-7]*\b" "\b0x[1-9a-f][0-9a-f]*\b"
$BALANCED_DELIMITERS: """
$LINE_COMMENT: "//"
$BLOCK_COMMENT: "/*, */"
+LINT
42 changes: 42 additions & 0 deletions .devcontainer/elide-home/nanorc/javascript.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
syntax "JavaScript" "\.js$"
SECTION: "class +[A-Za-z0-9]+ *((implements|extends) +[A-Za-z0-9.]+)?"
ESCAPE: "@[A-Za-z]+"
TYPE: "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>"
TYPE: "\<(Map|WeakMap|Set|WeakSet|Promise|Symbol|Number|Object|RegExp|String|JSON)\>"
TYPE: "\<(Number|Object|RegExp|String)\>"
KEYWORD: "\<(const|let|class|extends|get|set|of|async|await|yield)\>"
KEYWORD: "\<(import|as|from|export)\>"
NULL: "\<(null|undefined)\>"
JUMP: "\<(break|case|catch|continue|default|delete|do|else|finally)\>"
CLASS: "\<[A-Z]{0,2}([A-Z]{1}[a-z]+){1,}\>"
BOOLEAN: "\<(true|false)\>"
CONSTANT: "\<[A-Z]+([_]{1}[A-Z]+){0,}\>"
OPERATOR: "[-+/*=<>?:!~%&|]"
~NUMBER: "\b(([1-9][0-9]+)|0+)\.[0-9]+\b" "\b[1-9][0-9]*\b" "\b0[0-7]*\b" "\b0x[1-9a-f][0-9a-f]*\b"
$BALANCED_DELIMITERS: """
$LINE_COMMENT: "//"
$BLOCK_COMMENT: "/*, */"
+LINT
color brightblue "\<[-+]?([1-9][0-9]*|0[0-7]*|0x[0-9a-fA-F]+)([uU][lL]?|[lL][uU]?)?\>"
color brightblue "\<[-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([EePp][+-]?[0-9]+)?[fFlL]?"
color brightblue "\<[-+]?([0-9]+[EePp][+-]?[0-9]+)[fFlL]?"
color cyan "\<(break|case|catch|continue|default|delete|do|else|finally)\>"
color cyan "\<(for|function|get|if|in|instanceof|new|return|set|switch)\>"
color cyan "\<(switch|this|throw|try|typeof|var|void|while|with)\>"
color cyan "\<(null|undefined|NaN)\>"
color cyan "\<(import|as|from|export)\>"
color cyan "\<(const|let|class|extends|get|set|of|async|await|yield)\>"
color brightcyan "\<(true|false)\>"
color green "\<(Array|Boolean|Date|Enumerator|Error|Function|Math)\>"
color green "\<(Map|WeakMap|Set|WeakSet|Promise|Symbol)\>"
color green "\<(Number|Object|RegExp|String)\>"
color red "[-+/*=<>!~%?:&|]"
color magenta "/[^*]([^/]|(\\/))*[^\\]/[gim]*"
color magenta "\\[0-7][0-7]?[0-7]?|\\x[0-9a-fA-F]+|\\[bfnrt'"\?\\]"
color brightblack start="/\*" end="\*/"
color brightblack start="/\*\*" end="\*/"
color brightblack "//.*"
color brightblack "/\*.+\*/"
color brightwhite,cyan "TODO:?"
color yellow ""(\\.|[^"])*"|'(\\.|[^'])*'|(`|\})(\\.|[^`$]|$[^{])*(\$\{|`)"
color ,red " + +| + +"
8 changes: 8 additions & 0 deletions .devcontainer/elide-home/nanorc/json.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
syntax "JSON" "\.json$"
header "^\{$"

NUMBER: "\<[-]?[0-9]*([Ee][+-]?[0-9]+)?\>" "\<[-]?[0](\.[0-9]+)?\>"
NULL: "\<null\>"
BOOLEAN: "\<(true|false)\>"
ESCAPE: "\\u[0-9a-fA-F]{4}|\\[bfnrt'"/\\]"
$BALANCED_DELIMITERS "", '"
26 changes: 26 additions & 0 deletions .devcontainer/elide-home/nanorc/kotlin.nanorc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Nano syntax file
# Language: Kotlin
# Maintainer: Bjarne Holen <bjarneholen@gmail.com>
# Edited by: Ritiek Malhotra <ritiekmalhotra123@gmail.com>
# Last Change: 2017 May 24
# Copyright (c) 2014, Bjarne Holen

syntax "Kotlin" "\.kt$" "\.kts$"
color magenta "\b(([1-9][0-9]+)|0+)\.[0-9]+\b" "\b[1-9][0-9]*\b" "\b0[0-7]*\b" "\b0x[1-9a-f][0-9a-f]*\b"
color yellow "[.:;,+*|=!\%@]" "<" ">" "/" "-" "&"
color green "\<(namespace|as|type|class|this|super|val|var|fun|is|in|object|when|trait|import|where|by|get|set|abstract|enum|open|annotation|override|private|public|internal|protected|out|vararg|inline|final|package|lateinit|constructor|companion|const|suspend|sealed)\>"
color yellow "\<(true|false|null)\>"
color cyan "\<(break|catch|continue|do|else|finally|for|if|return|throw|try|while|repeat)\>"
color brightred "\<(inner|outer)\>"
##
## String highlighting. You will in general want your comments and
## strings to come last, because syntax highlighting rules will be
## applied in the order they are read in.
color brightblue "<[^= ]*>" ""(\\.|[^"])*""

## Comment highlighting
color red "^\s*//.*"
color red start="^\s*/\*" end="\*/"

## Trailing whitespace
color ,green "[[:space:]]+$"
51 changes: 51 additions & 0 deletions .devcontainer/elide-home/nanorc/light.nanorctheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#
# This file describes a default scheme for nanorc syntax highlighting for terminals with light background.
#

PLAIN black
FUNCTION green
STRING cyan
COMMENT brightcyan
DOC_COMMENT cyan
TYPE brightblue
BOOLEAN brightblack
NULL cyan
NUMBER blue
VARIABLE brightyellow
PACKAGE green,faint
CLASS green
CONSTANT yellow
OPERATOR yellow
COMMAND green
OPTION yellow
KEYWORD brightblack
JUMP cyan
SECTION green
ATTRIBUTE green
PATH brightblue
EXECUTABLE green
LINK cyan
TITLE brightblue
ESCAPE black,cyan
DEBUG brightmagenta
ERROR red
TODO brightwhite,cyan
WARNING ,lightred
WHITESPACE ,lightgreen
HEADER bold,!blue,~grey70,underline
ROW_NUMBER bold,!blue,~grey70
ROW_STYLE ,~grey82
LIST_BACKGROUND ,~grey70
LIST_GROUP yellow
#
# mixin
#
+FUNCTION FUNCTION: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" \n PLAIN: "[(]"
+LINT WHITESPACE: "[[:space:]]+$" \n WARNING: "\t*"
+LONG_LINE_WARNING WARNING: "^.{81,}$"
#
# parser
#
$LINE_COMMENT COMMENT \n TODO: "FIXME|TODO|XXX"
$BLOCK_COMMENT COMMENT \n DOC_COMMENT: startWith=/** \n TODO: "FIXME|TODO|XXX"
$BALANCED_DELIMITERS STRING \n VARIABLE: continueAs=\s*:
60 changes: 60 additions & 0 deletions .devcontainer/elide-home/nanorc/nanorctheme.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#
# This file describes a default scheme template for nanorc syntax highlighting for terminals with dark background
#
# Actual nanorc themes can be generated using the themes available on https://mayccoll.github.io/Gogh/themes.
#
# Linux:
# \> cd git/jline3
# \> ./build rebuild
# \> cd git/jline3/demo/target/nanorc
# \> bash -c "$(wget -qO- https://git.io/vQgMr)"
# ...
#

PLAIN %COLOR_08
FUNCTION %COLOR_11
STRING %COLOR_15
COMMENT %COLOR_07
DOC_COMMENT %COLOR_15
TYPE %COLOR_13
BOOLEAN %COLOR_16
NULL %COLOR_07
NUMBER %COLOR_05
VARIABLE %COLOR_12
PACKAGE %COLOR_03
CLASS %COLOR_03
CONSTANT %COLOR_04
OPERATOR %COLOR_04
COMMAND %COLOR_11
OPTION %COLOR_04
KEYWORD %COLOR_16
JUMP %COLOR_15
SECTION %COLOR_11
ATTRIBUTE %COLOR_03
PATH %COLOR_13
EXECUTABLE %COLOR_03
LINK %COLOR_07
TITLE %COLOR_13
ESCAPE %COLOR_01,%COLOR_07
DEBUG %COLOR_14
ERROR %COLOR_02
TODO %COLOR_16,%COLOR_07
WARNING ,%COLOR_02
WHITESPACE ,%COLOR_03
HEADER bold,%COLOR_13,~grey7,underline
ROW_NUMBER bold,%COLOR_13,~grey7
ROW_STYLE ,~grey15
LIST_BACKGROUND ,~grey42
LIST_GROUP %COLOR_04
#
# mixin
#
+FUNCTION FUNCTION: "[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[(]" \n PLAIN: "[(]"
+LINT WHITESPACE: "[[:space:]]+$" \n WARNING: "\t*"
+LONG_LINE_WARNING WARNING: "^.{81,}$"
#
# parser
#
$LINE_COMMENT COMMENT \n TODO: "FIXME|TODO|XXX"
$BLOCK_COMMENT COMMENT \n DOC_COMMENT: startWith=/** \n TODO: "FIXME|TODO|XXX"
$BALANCED_DELIMITERS STRING \n VARIABLE: continueAs=\s*:
Loading
Loading