elit 3.6.4 → 3.6.6

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.
Files changed (52) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/README.md +14 -1
  4. package/dist/build.d.ts +4 -1
  5. package/dist/cli.cjs +746 -166
  6. package/dist/cli.mjs +746 -166
  7. package/dist/config.d.ts +8 -1
  8. package/dist/coverage.d.ts +4 -1
  9. package/dist/desktop-auto-render.cjs +5 -4
  10. package/dist/desktop-auto-render.d.ts +4 -1
  11. package/dist/desktop-auto-render.js +5 -4
  12. package/dist/desktop-auto-render.mjs +5 -4
  13. package/dist/dom.cjs +5 -4
  14. package/dist/dom.d.ts +2 -0
  15. package/dist/dom.js +5 -4
  16. package/dist/dom.mjs +5 -4
  17. package/dist/el.d.ts +2 -0
  18. package/dist/index.cjs +5 -4
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.js +5 -4
  21. package/dist/index.mjs +5 -4
  22. package/dist/native.cjs +5 -4
  23. package/dist/native.d.ts +2 -0
  24. package/dist/native.js +5 -4
  25. package/dist/native.mjs +5 -4
  26. package/dist/render-context.d.ts +4 -1
  27. package/dist/router.cjs +5 -4
  28. package/dist/router.d.ts +2 -0
  29. package/dist/router.js +5 -4
  30. package/dist/router.mjs +5 -4
  31. package/dist/{server-CcBFc2F5.d.ts → server-uMQvZAll.d.ts} +9 -0
  32. package/dist/server.cjs +146 -4
  33. package/dist/server.d.ts +4 -1
  34. package/dist/server.js +4494 -285
  35. package/dist/server.mjs +146 -4
  36. package/dist/smtp-server.cjs +115 -0
  37. package/dist/smtp-server.d.ts +41 -0
  38. package/dist/smtp-server.js +4186 -0
  39. package/dist/smtp-server.mjs +87 -0
  40. package/dist/state.cjs +5 -4
  41. package/dist/state.d.ts +2 -0
  42. package/dist/state.js +5 -4
  43. package/dist/state.mjs +5 -4
  44. package/dist/test-runtime.cjs +184 -141
  45. package/dist/test-runtime.js +193 -150
  46. package/dist/test-runtime.mjs +184 -141
  47. package/dist/test.cjs +143 -134
  48. package/dist/test.js +152 -143
  49. package/dist/test.mjs +143 -134
  50. package/dist/types.d.ts +34 -2
  51. package/dist/universal.d.ts +2 -0
  52. package/package.json +9 -1
package/Cargo.lock CHANGED
@@ -1211,7 +1211,7 @@ dependencies = [
1211
1211
 
1212
1212
  [[package]]
1213
1213
  name = "elit-desktop"
1214
- version = "3.6.4"
1214
+ version = "3.6.5"
1215
1215
  dependencies = [
1216
1216
  "eframe",
1217
1217
  "http",
package/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "elit-desktop"
3
- version = "3.6.4"
3
+ version = "3.6.5"
4
4
  edition = "2021"
5
5
  build = "desktop/build.rs"
6
6
 
package/README.md CHANGED
@@ -63,6 +63,7 @@ Use this table as the import map for generated code.
63
63
  | `elit/style` | CSS generation and injection | `CreateStyle`, `styles`, `renderStyle`, `injectStyle`, `addClass`, `addTag` |
64
64
  | `elit/router` | Client-side routing | `createRouter`, `createRouterView`, `routerLink` |
65
65
  | `elit/server` | HTTP router, dev server, middleware, WebSocket endpoints, shared server state | `ServerRouter`, `createDevServer`, `cors`, `logger`, `rateLimit`, `compress`, `security`, `StateManager` |
66
+ | `elit/smtp-server` | SMTP listeners and config-friendly wrappers built on top of `smtp-server` | `SMTPServer`, `createSmtpServer`, `startSmtpServer` |
66
67
  | `elit/build` | Programmatic build API | `build` |
67
68
  | `elit/desktop` | Native desktop window APIs | `createWindow`, `createWindowServer`, `onMessage`, `windowQuit`, `windowSetTitle`, `windowEval` |
68
69
  | `elit/database` | VM-backed file database | `Database`, `create`, `read`, `save`, `update`, `rename`, `remove` |
@@ -277,6 +278,7 @@ Useful flags:
277
278
  - `elit wapk gdrive://<fileId> --google-drive-token-env GOOGLE_DRIVE_ACCESS_TOKEN --online`
278
279
  - `elit wapk run ./app.wapk --online --online-url http://localhost:4177`
279
280
  - `elit wapk pack .`
281
+ - `elit wapk patch ./app.wapk --from ./patch.wapk`
280
282
  - `elit wapk inspect ./app.wapk --password secret-123`
281
283
  - `elit wapk extract ./app.wapk`
282
284
  - `elit desktop wapk ./app.wapk --runtime node|bun|deno --watcher`
@@ -325,8 +327,10 @@ WAPK mode notes:
325
327
  - `elit wapk <file.wapk>` and `elit wapk run <file.wapk>` run packaged apps.
326
328
  - `elit desktop wapk <file.wapk>` and `elit desktop wapk run <file.wapk>` run packaged apps in desktop mode.
327
329
  - During run, the archive is expanded into a temporary work directory and changes are synced back to the same `.wapk` file.
330
+ - `elit wapk patch <target.wapk> --from <patch.wapk>` reads `.wapkpatch` from the patch archive and overlays only the matching archive-relative files into the target archive.
328
331
  - Use `--sync-interval <ms>` for polling mode, or `--watcher` / `--use-watcher` for event-driven sync.
329
332
  - Use `--password` when packing, inspecting, extracting, or running a locked archive.
333
+ - Use `--from-password` when the patch archive is locked with a different password than the target archive.
330
334
  - `inspect` without credentials still reports whether the archive is locked, but it does not print the archive contents.
331
335
  - Locked archives stay encrypted when live sync writes changes back into the same `.wapk` file.
332
336
  - Configure package metadata in `elit.config.*` under `wapk`, and use `wapk.lock` when you want password-protected archives by default.
@@ -581,6 +585,8 @@ Notes:
581
585
 
582
586
  - `dev.ws` and `preview.ws` register global WebSocket endpoints.
583
587
  - `clients[].ws` registers client-specific endpoints and prefixes each path with that client's `basePath`.
588
+ - `dev.smtp` and `preview.smtp` start SMTP listeners alongside the HTTP server.
589
+ - `clients[].smtp` starts SMTP listeners for a specific client branch, but SMTP listeners always bind to their own `host` and `port` instead of using `basePath`.
584
590
  - The internal Elit HMR and shared-state socket uses `/__elit_ws`, so do not reuse that path for custom endpoints.
585
591
 
586
592
  Important details:
@@ -866,6 +872,9 @@ createWindow({
866
872
  });
867
873
  ```
868
874
 
875
+ For a runnable minimal file in this repo, see `examples/desktop-simple-example.ts`.
876
+ For a runnable project-style repo, see `examples/desktop-typescript-example/`.
877
+
869
878
  Run it:
870
879
 
871
880
  ```bash
@@ -955,7 +964,7 @@ The package also exports `elit/test`, `elit/test-runtime`, and `elit/test-report
955
964
 
956
965
  Latest release notes live in [CHANGELOG.md](CHANGELOG.md).
957
966
 
958
- Highlights in `v3.6.4`:
967
+ Highlights in `v3.6.5`:
959
968
 
960
969
  - Added `elit pm` for detached background process management of shell commands, file targets, and WAPK apps.
961
970
  - Added `pm.apps[]` and `pm.dataDir` in `elit.config.*` for config-first process manager workflows.
@@ -992,6 +1001,8 @@ If you are working in this repository, these locations matter most:
992
1001
  - `examples/full-db`: larger full-stack example with database usage
993
1002
  - `examples/universal-app-example`: one repo covering web, desktop, and Android mobile smoke flows
994
1003
  - `examples/android-native-example`: Android-first native mobile validation flow
1004
+ - `examples/desktop-typescript-example`: project-style desktop app with `package.json`, `elit.config.ts`, and a TypeScript desktop entry
1005
+ - `examples/desktop-simple-example.ts`: minimal desktop window example with inline HTML + IPC buttons
995
1006
  - `examples/desktop-example.ts`: desktop smoke test and runtime example
996
1007
  - `packages/create-elit`: scaffold templates used by `npm create elit@latest`
997
1008
  - `docs/`: the documentation site built with Elit itself
@@ -1008,6 +1019,8 @@ If you are working in this repository, these locations matter most:
1008
1019
  - `examples/correct-config` for the cleanest SSR + API setup
1009
1020
  - `examples/universal-app-example` for a single repo exercising web, desktop, and Android mobile together
1010
1021
  - `examples/android-native-example` for Android-native mobile validation
1022
+ - `examples/desktop-typescript-example` for a small desktop project you can install and run directly
1023
+ - `examples/desktop-simple-example.ts` for the smallest desktop window example
1011
1024
  - `examples/desktop-example.ts` for desktop runtime usage
1012
1025
  - `USAGE_EXAMPLES.md` for more import combinations
1013
1026
  - `docs/API.md` for broader API detail
package/dist/build.d.ts CHANGED
@@ -1,10 +1,13 @@
1
- import { B as BuildOptions, a as BuildResult } from './server-CcBFc2F5.js';
1
+ import { B as BuildOptions, a as BuildResult } from './server-uMQvZAll.js';
2
2
  import './http.js';
3
3
  import 'node:events';
4
4
  import './ws.js';
5
5
  import 'events';
6
6
  import 'http';
7
7
  import 'ws';
8
+ import './smtp-server.js';
9
+ import 'net';
10
+ import 'smtp-server';
8
11
 
9
12
  /**
10
13
  * Build module for bundling applications