@elaraai/e3-ui-cli 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLA.md +26 -0
- package/CONTRIBUTING.md +28 -0
- package/LICENSE.md +31 -0
- package/README.md +158 -0
- package/bin/e3-ui.mjs +13 -0
- package/dist/app/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2 +0 -0
- package/dist/app/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2 +0 -0
- package/dist/app/assets/engine-Daqj4eDD-BQb68g_1.js +4 -0
- package/dist/app/assets/index-30g1JIHt.js +2255 -0
- package/dist/app/assets/index-CYR-0Grb.css +1 -0
- package/dist/app/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2 +0 -0
- package/dist/app/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2 +0 -0
- package/dist/app/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2 +0 -0
- package/dist/app/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2 +0 -0
- package/dist/app/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2 +0 -0
- package/dist/app/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2 +0 -0
- package/dist/app/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2 +0 -0
- package/dist/app/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/app/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/app/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/app/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/app/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/app/index.html +13 -0
- package/dist/browser.d.ts +88 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +249 -0
- package/dist/browser.js.map +1 -0
- package/dist/capture.d.ts +80 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/capture.js +275 -0
- package/dist/capture.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +70 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/shot.d.ts +42 -0
- package/dist/commands/shot.d.ts.map +1 -0
- package/dist/commands/shot.js +134 -0
- package/dist/commands/shot.js.map +1 -0
- package/dist/e3-server.d.ts +21 -0
- package/dist/e3-server.d.ts.map +1 -0
- package/dist/e3-server.js +34 -0
- package/dist/e3-server.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/load-source.d.ts +21 -0
- package/dist/load-source.d.ts.map +1 -0
- package/dist/load-source.js +163 -0
- package/dist/load-source.js.map +1 -0
- package/dist/payload.d.ts +26 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +87 -0
- package/dist/payload.js.map +1 -0
- package/dist/render.d.ts +80 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +79 -0
- package/dist/render.js.map +1 -0
- package/dist/shot-payload.d.ts +31 -0
- package/dist/shot-payload.d.ts.map +1 -0
- package/dist/shot-payload.js +6 -0
- package/dist/shot-payload.js.map +1 -0
- package/package.json +82 -0
package/CLA.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Contributor License Agreement
|
|
2
|
+
|
|
3
|
+
This Contributor License Agreement ("Agreement") is entered into between Elara AI Pty Ltd ("Company") and you (the "Contributor").
|
|
4
|
+
|
|
5
|
+
## Grant of Copyright License
|
|
6
|
+
|
|
7
|
+
You hereby grant to the Company and to recipients of software distributed by the Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and use Your Contributions and such derivative works.
|
|
8
|
+
|
|
9
|
+
## Grant of Patent License
|
|
10
|
+
|
|
11
|
+
You hereby grant to the Company and to recipients of software distributed by the Company a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer Your Contributions.
|
|
12
|
+
|
|
13
|
+
## Relicensing Rights
|
|
14
|
+
|
|
15
|
+
You grant the Company the right to license Your Contributions under any license terms, including but not limited to commercial licenses, in addition to the open source license under which the project is distributed.
|
|
16
|
+
|
|
17
|
+
## Your Representations
|
|
18
|
+
|
|
19
|
+
You represent that:
|
|
20
|
+
- You are legally entitled to grant the above licenses
|
|
21
|
+
- Each of Your Contributions is Your original creation
|
|
22
|
+
- Your Contribution submissions include complete details of any third-party license or other restriction of which you are aware
|
|
23
|
+
|
|
24
|
+
## Agreement
|
|
25
|
+
|
|
26
|
+
By signing this Agreement through CLA Assistant or by submitting a Contribution, you accept and agree to the terms of this Agreement.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Contributing to e3-ui-cli
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing! We welcome contributions from the community.
|
|
4
|
+
|
|
5
|
+
## Contributor License Agreement (CLA)
|
|
6
|
+
|
|
7
|
+
Before we can accept your contribution, you must sign our Contributor License Agreement (CLA). This agreement gives Elara AI Pty Ltd the right to use and relicense your contributions, including under commercial licenses, while you retain ownership of your contribution.
|
|
8
|
+
|
|
9
|
+
**Why do we require a CLA?**
|
|
10
|
+
This project is dual-licensed under AGPL-3.0 and commercial licenses. The CLA allows us to offer commercial licenses to users who wish to use this software in proprietary applications.
|
|
11
|
+
|
|
12
|
+
### Signing the CLA
|
|
13
|
+
|
|
14
|
+
When you submit your first pull request, the CLA Assistant bot will automatically comment on your PR with a link to sign the CLA electronically. It only takes a minute, and you'll only need to sign it once.
|
|
15
|
+
|
|
16
|
+
## Contributing Process
|
|
17
|
+
|
|
18
|
+
1. Fork the [east-workspace monorepo](https://github.com/elaraai/east-workspace)
|
|
19
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
20
|
+
3. Make your changes
|
|
21
|
+
4. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
22
|
+
5. Push to the branch (`git push origin feature/amazing-feature`)
|
|
23
|
+
6. Open a Pull Request
|
|
24
|
+
7. Sign the CLA when the bot prompts you
|
|
25
|
+
|
|
26
|
+
## Questions?
|
|
27
|
+
|
|
28
|
+
Contact us at support@elara.ai
|
package/LICENSE.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Copyright (c) 2025 Elara AI Pty Ltd
|
|
2
|
+
|
|
3
|
+
# Dual License — AGPL-3.0 / Commercial
|
|
4
|
+
|
|
5
|
+
This software is available under two licenses. You may choose which license applies to your use:
|
|
6
|
+
|
|
7
|
+
## Option 1: AGPL-3.0 (Open Source)
|
|
8
|
+
|
|
9
|
+
You may use, modify, and distribute this software under the terms of the GNU Affero General Public License v3.0.
|
|
10
|
+
|
|
11
|
+
This requires that if you use this software in a network service, you must make your complete source code available under AGPL-3.0.
|
|
12
|
+
|
|
13
|
+
Full text: https://www.gnu.org/licenses/agpl-3.0.html
|
|
14
|
+
|
|
15
|
+
## Option 2: Commercial License
|
|
16
|
+
|
|
17
|
+
If you wish to use this software without the source code disclosure requirements of AGPL-3.0, you must obtain a commercial license from Elara AI Pty Ltd.
|
|
18
|
+
|
|
19
|
+
Contact: support@elara.ai
|
|
20
|
+
|
|
21
|
+
## Contributions
|
|
22
|
+
|
|
23
|
+
Contributions are welcome. By submitting a pull request, you agree to license your contribution under both AGPL-3.0 and our commercial license terms.
|
|
24
|
+
|
|
25
|
+
## Governing Law
|
|
26
|
+
|
|
27
|
+
This license is governed by the laws of New South Wales, Australia.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
*Elara AI Pty Ltd*
|
package/README.md
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# e3-ui CLI
|
|
2
|
+
|
|
3
|
+
> Render east-ui / e3-ui components to PNG from the command line.
|
|
4
|
+
|
|
5
|
+
[](LICENSE.md)
|
|
6
|
+
[](https://nodejs.org)
|
|
7
|
+
|
|
8
|
+
**e3-ui CLI** renders [East UI](https://github.com/elaraai/east-workspace/tree/main/libs/east-ui) components — East functions returning a `UIComponentType` — to PNG images using headless Chromium, for automating UI/UX reviews and generating screenshots. The East→React renderer is pre-bundled into the package; the component is injected as data at runtime, so the only runtime dependency is the browser engine.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- **Component screenshots**: render a `.ts`/`.tsx` source (`--from-source`) or serialized `.beast2`/`.json` IR (`--from-ir`) to a PNG.
|
|
13
|
+
- **Live task screenshots**: render a deployed e3 UI task's output with real, already-computed workspace data (`--from-task`).
|
|
14
|
+
- **Self-contained**: the renderer (React + Chakra UI v3 + the full component set) is pre-bundled; no app server or build step at use time.
|
|
15
|
+
- **Consistent with e3-cli**: extension-based format detection with a `--from` override, `-o/--output`, and esbuild TypeScript loading.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g @elaraai/e3-ui-cli # small — downloads no browser
|
|
21
|
+
e3-ui install-browser # one-time: fetch the version-matched headless Chromium
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The CLI depends on `playwright-core` (no install-time browser download). `e3-ui install-browser` fetches the `chromium-headless-shell` build (~100 MB lighter than full Chromium, no X11/D-Bus libraries) into the shared playwright cache, version-matched to the CLI. On a **fresh Linux server**, add the OS libraries in the same step:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
sudo e3-ui install-browser --with-deps # Linux only; Windows/macOS need no system libraries
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If the CLI already finds a system-installed Chrome/Chromium/Edge, `install-browser` is optional — the launch order is:
|
|
31
|
+
|
|
32
|
+
1. `E3_UI_CHROMIUM_PATH` (or `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH`) — an explicit executable wins.
|
|
33
|
+
2. The playwright-managed cache (what `install-browser` fills; honors `PLAYWRIGHT_BROWSERS_PATH`).
|
|
34
|
+
3. A system Chrome / Chromium / Edge at the standard per-OS locations. **Ubuntu's snap chromium is detected and skipped** — its confinement breaks automation; use Google Chrome's `.deb` or `install-browser` instead.
|
|
35
|
+
|
|
36
|
+
Under the hood the CLI starts a throwaway local web server for its prebuilt renderer, launches headless Chromium at it, injects your component, and screenshots the result. Chromium runs sandbox-off (playwright's default) — appropriate for rendering trusted local components, and why running as root on a server just works.
|
|
37
|
+
|
|
38
|
+
### Headless servers & CI
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
e3-ui doctor # diagnoses the browser setup: env overrides, launch cascade, remediation
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- Share one browser cache across users/agents with `PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers` (set it for both `install-browser` and `shot`).
|
|
45
|
+
- Reinstalling/upgrading the CLI can move to a new browser revision — if `shot` reports a missing executable, re-run `e3-ui install-browser`.
|
|
46
|
+
- Docker: `mcr.microsoft.com/playwright` images work out of the box, or add `e3-ui install-browser --with-deps` to your own image.
|
|
47
|
+
|
|
48
|
+
## Quick Start
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# A .tsx exporting an East function returning a UIComponentType:
|
|
52
|
+
e3-ui shot --from-source ./dashboard.tsx -o dashboard.png
|
|
53
|
+
|
|
54
|
+
# Pick one export, set a viewport, also emit standalone HTML:
|
|
55
|
+
e3-ui shot --from-source ./widgets.tsx --export statCard --viewport 800x600 --html
|
|
56
|
+
|
|
57
|
+
# Serialized component IR (e.g. produced by an e3 export):
|
|
58
|
+
e3-ui shot --from-ir ./component.beast2 -o component.png
|
|
59
|
+
|
|
60
|
+
# A live e3 UI task's rendered output (dataflow must have already run):
|
|
61
|
+
e3-ui shot --from-task main.dashboard --repo ./my-repo -o dashboard.png
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Sources
|
|
65
|
+
|
|
66
|
+
One screenshot verb, one source per run (mirroring e3-cli's `--from-zip` / `--from-source`):
|
|
67
|
+
|
|
68
|
+
| Source | Description |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `--from-source <file>` | A `.ts`/`.tsx` component source. Static and `State`-only components render with no backend. **Runs the file and its imports as Node code** (like ts-node) — only point it at code you trust. |
|
|
71
|
+
| `--from-ir <file>` | Serialized component IR (`.beast2`/`.json`); `-` reads from stdin. |
|
|
72
|
+
| `--from-task <ws.task> --repo <repo>` | A live e3 UI task's output with real bound data (via `@elaraai/e3-api-client`). The workspace dataflow must have already produced the task output. |
|
|
73
|
+
|
|
74
|
+
`e3-ui shot --help` lists all flags (`--export`, `--output`, `--html`, `--viewport`, `--dpr`, `--full-page`, `--element`, `--wait`, `--timeout`, `--storage-key`).
|
|
75
|
+
|
|
76
|
+
`--from-source` also accepts a file exporting an e3 `ui()` task (e.g. a create-e3 `--ui` scaffold's `src/ui/index.tsx`) — the task's stored component function is rendered. Tasks with compute-time inputs can't render standalone; use `--from-task` against a deployed workspace for those.
|
|
77
|
+
|
|
78
|
+
## Programmatic API
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import { renderToPng } from "@elaraai/e3-ui-cli";
|
|
82
|
+
|
|
83
|
+
await renderToPng({
|
|
84
|
+
input: { path: "./dashboard.tsx" },
|
|
85
|
+
output: "dashboard.png",
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Development
|
|
90
|
+
|
|
91
|
+
`make build`, `make test`, `make lint` from this directory. See [`MAKEFILE_TARGETS.md`](../../../../docs/conventions/MAKEFILE_TARGETS.md) for the full target list. The browser app under `app/` is bundled into `dist/app` by `scripts/build-app.mjs` as the second half of `make build`.
|
|
92
|
+
|
|
93
|
+
## Documentation
|
|
94
|
+
|
|
95
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — contributing + CLA
|
|
96
|
+
- [LICENSE.md](LICENSE.md) — license
|
|
97
|
+
|
|
98
|
+
## License
|
|
99
|
+
|
|
100
|
+
Dual-licensed under AGPL-3.0 and a commercial license. See [LICENSE.md](LICENSE.md).
|
|
101
|
+
|
|
102
|
+
<!-- Ecosystem block — keep in sync with docs/snippets/ECOSYSTEM.md -->
|
|
103
|
+
|
|
104
|
+
### Ecosystem
|
|
105
|
+
|
|
106
|
+
- **[East](https://github.com/elaraai/east-workspace/tree/main/libs/east)**: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.
|
|
107
|
+
- [@elaraai/east](https://www.npmjs.com/package/@elaraai/east): Core language SDK with type system, expressions, and reference JS compiler
|
|
108
|
+
|
|
109
|
+
- **[East Node](https://github.com/elaraai/east-workspace/tree/main/libs/east-node)**: Node.js platform functions for I/O, databases, and system operations.
|
|
110
|
+
- [@elaraai/east-node-std](https://www.npmjs.com/package/@elaraai/east-node-std): Console, FileSystem, Fetch, Crypto, Time, Path, Random
|
|
111
|
+
- [@elaraai/east-node-io](https://www.npmjs.com/package/@elaraai/east-node-io): SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
|
|
112
|
+
- [@elaraai/east-node-cli](https://www.npmjs.com/package/@elaraai/east-node-cli): CLI for running East IR programs in Node.js
|
|
113
|
+
|
|
114
|
+
- **[East C](https://github.com/elaraai/east-workspace/tree/main/libs/east-c)**: C11 native runtime for executing East IR. Tarballed for `linux-x64` and `linux-arm64`, attached to each GitHub Release.
|
|
115
|
+
- `east-c`: Core runtime — type system, IR interpreter, 200+ builtins, serialization (Beast2, JSON, CSV, East text)
|
|
116
|
+
- `east-c-std`: Console, FileSystem, Fetch, Crypto, Time, Path, Random
|
|
117
|
+
- `east-c-cli`: CLI for running East IR programs natively
|
|
118
|
+
|
|
119
|
+
- **[East Python](https://github.com/elaraai/east-workspace/tree/main/libs/east-py)**: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.
|
|
120
|
+
- [east-py](https://pypi.org/project/east-py/): Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
|
|
121
|
+
- [east-py-std](https://pypi.org/project/east-py-std/): Console, FileSystem, Fetch, Crypto, Time, Path, Random
|
|
122
|
+
- [east-py-io](https://pypi.org/project/east-py-io/): SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
|
|
123
|
+
- [east-py-cli](https://pypi.org/project/east-py-cli/): CLI for running East IR programs in Python
|
|
124
|
+
- [east-py-datascience](https://pypi.org/project/east-py-datascience/) (PyPI) + [@elaraai/east-py-datascience](https://www.npmjs.com/package/@elaraai/east-py-datascience) (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
|
|
125
|
+
|
|
126
|
+
- **[East UI](https://github.com/elaraai/east-workspace/tree/main/libs/east-ui)**: Typed UI component definitions and React renderer, plus VS Code preview.
|
|
127
|
+
- [@elaraai/east-ui](https://www.npmjs.com/package/@elaraai/east-ui): 50+ typed UI components for layouts, forms, charts, tables, dialogs
|
|
128
|
+
- [@elaraai/east-ui-components](https://www.npmjs.com/package/@elaraai/east-ui-components): React renderer with Chakra UI v3 styling
|
|
129
|
+
- [@elaraai/e3-ui](https://www.npmjs.com/package/@elaraai/e3-ui): e3 + UI bridge — Data bindings, `e3.ui()` task, manifest
|
|
130
|
+
- [@elaraai/e3-ui-components](https://www.npmjs.com/package/@elaraai/e3-ui-components): React Query hooks and preview components for the e3 API
|
|
131
|
+
- [@elaraai/e3-ui-cli](https://www.npmjs.com/package/@elaraai/e3-ui-cli): Render east-ui / e3-ui components to PNG from the command line (`e3-ui shot`)
|
|
132
|
+
- [east-ui-preview](https://marketplace.visualstudio.com/items?itemName=ElaraAI.east-ui-preview): VS Code extension for live East UI component preview
|
|
133
|
+
|
|
134
|
+
- **[e3 — East Execution Engine](https://github.com/elaraai/east-workspace/tree/main/libs/e3)**: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.
|
|
135
|
+
- [@elaraai/e3](https://www.npmjs.com/package/@elaraai/e3): SDK for authoring e3 packages with typed tasks and pipelines
|
|
136
|
+
- [@elaraai/e3-core](https://www.npmjs.com/package/@elaraai/e3-core): Object store, dataflow orchestrator, execution state
|
|
137
|
+
- [@elaraai/e3-types](https://www.npmjs.com/package/@elaraai/e3-types): Shared type definitions for e3 packages
|
|
138
|
+
- [@elaraai/e3-cli](https://www.npmjs.com/package/@elaraai/e3-cli): `e3 repo`, `e3 package`, `e3 workspace`, `e3 start`, `e3 watch`, `e3 logs` commands
|
|
139
|
+
- [@elaraai/e3-api-client](https://www.npmjs.com/package/@elaraai/e3-api-client): HTTP client for remote e3 repositories
|
|
140
|
+
- [@elaraai/e3-api-server](https://www.npmjs.com/package/@elaraai/e3-api-server): REST API server for e3 repositories
|
|
141
|
+
- [@elaraai/e3-api-tests](https://www.npmjs.com/package/@elaraai/e3-api-tests): Shared API compliance test suites
|
|
142
|
+
|
|
143
|
+
## Links
|
|
144
|
+
|
|
145
|
+
- **Website**: https://elaraai.com/
|
|
146
|
+
- **Repository**: https://github.com/elaraai/east-workspace
|
|
147
|
+
- **Issues**: https://github.com/elaraai/east-workspace/issues
|
|
148
|
+
- **Email**: support@elara.ai
|
|
149
|
+
|
|
150
|
+
<!-- About Elara — keep in sync with docs/snippets/ABOUT_ELARA.md -->
|
|
151
|
+
|
|
152
|
+
## About Elara
|
|
153
|
+
|
|
154
|
+
East is developed by [Elara AI Pty Ltd](https://elaraai.com/), an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
*Developed by [Elara AI Pty Ltd](https://elaraai.com/).*
|
package/bin/e3-ui.mjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
4
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
5
|
+
*
|
|
6
|
+
* Static bin shim — committed so `pnpm install` can create the `e3-ui` bin
|
|
7
|
+
* symlink on a fresh checkout BEFORE the package is built. Delegates to the
|
|
8
|
+
* compiled CLI entry.
|
|
9
|
+
*/
|
|
10
|
+
import('../dist/cli.js').catch((err) => {
|
|
11
|
+
console.error('e3-ui: failed to start — build the package first (npm run build).', err?.message ?? err);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
});
|
|
Binary file
|
|
Binary file
|