quickwin 2.1.1 → 2.2.0

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 (45) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +4 -4
  3. package/examples/{exec_server.js → execd.js} +612 -226
  4. package/examples/execd.tsx +798 -0
  5. package/examples/execd_worker.js +122 -0
  6. package/examples/execd_worker.ts +127 -0
  7. package/examples/pdf_viewer.js +100 -111
  8. package/examples/test_gallery.js +100 -111
  9. package/examples/test_react_lazy.js +96 -109
  10. package/examples/test_react_listbox.js +96 -109
  11. package/examples/test_root_window.js +96 -109
  12. package/examples/test_tab.js +96 -109
  13. package/lib/ffi/ctype.ts +3 -1
  14. package/lib/ffi/struct.js +23 -7
  15. package/lib/ffi/struct.ts +50 -23
  16. package/lib/http-server.js +1 -1
  17. package/lib/http-server.ts +1 -1
  18. package/lib/windows/gdi32.js +1 -1
  19. package/lib/windows/gdi32.ts +1 -1
  20. package/lib/windows/structs.js +176 -92
  21. package/lib/windows/structs.ts +216 -92
  22. package/package.json +1 -1
  23. package/quickwin_const.d.ts +26 -0
  24. package/qwin-nowasm-x86.exe +0 -0
  25. package/qwin-nowasm.exe +0 -0
  26. package/qwin-x86.exe +0 -0
  27. package/qwin.exe +0 -0
  28. package/test/test_ffi_bind.js +5 -3
  29. package/test/test_ffi_bind.ts +6 -4
  30. package/test/test_ffi_struct.js +58 -24
  31. package/test/test_ffi_struct.ts +55 -25
  32. package/test/test_gdi_draw.js +1 -1
  33. package/test/test_gdi_draw.ts +1 -1
  34. package/test/test_react_complex.js +96 -109
  35. package/test/test_react_counter.js +96 -109
  36. package/test/test_react_flex.js +96 -109
  37. package/test/test_react_hidden.js +96 -109
  38. package/test/test_react_listview_link.js +96 -109
  39. package/test/test_react_notify.js +96 -109
  40. package/test/test_react_render.js +96 -109
  41. package/examples/exec_server.tsx +0 -488
  42. package/examples/exec_server_worker.js +0 -395
  43. package/examples/exec_server_worker.ts +0 -417
  44. package/examples/setres.js +0 -79
  45. package/examples/setres.ts +0 -86
package/README.en.md CHANGED
@@ -80,11 +80,11 @@ make embed-js JS_EMBED=script.js
80
80
  # Embed a script brotli-compressed (smaller exe, decompressed at runtime)
81
81
  make embed-js-br JS_EMBED=script.js
82
82
 
83
- # Bundle examples/exec_server.ts and brotli-embed into exec_server.exe
84
- make exec_server
83
+ # Bundle examples/execd.ts and brotli-embed into execd.exe
84
+ make execd
85
85
 
86
86
  # Run it (no file argument needed)
87
- _build/exec_server.exe
87
+ _build/execd.exe
88
88
  ```
89
89
 
90
90
  When run without a script file argument, `qwin.exe` checks for embedded JS at the end of itself. If found, it executes the embedded code. If not, it falls back to `main.js`. Both raw (`QWJS`) and brotli-compressed (`QWBR`) embedded payloads are supported; the compressed form is decompressed at startup.
@@ -198,7 +198,7 @@ that build run `make test TEST=-wasm` to skip WASM tests.
198
198
  | `make test` | run all tests |
199
199
  | `make test TEST=-net` | skip network tests (fast) |
200
200
  | `make test TEST=wasm` | run WASM tests only |
201
- | `make exec_server` | bundle `examples/exec_server.ts` and brotli-embed into `_build/exec_server.exe` |
201
+ | `make execd` | bundle `examples/execd.ts` and brotli-embed into `_build/execd.exe` |
202
202
  | `make embed-js` / `embed-js-br` | embed JS (brotli-compressed) into exe |
203
203
  | `make npm-pkg` | package into `dist/quickwin/` |
204
204
  | `make gen-const` | regenerate `quickwin_const.d.ts` |
package/README.md CHANGED
@@ -78,11 +78,11 @@ make embed-js JS_EMBED=script.js
78
78
  # 内嵌 Brotli 压缩的脚本(exe 更小,运行时解压)
79
79
  make embed-js-br JS_EMBED=script.js
80
80
 
81
- # 打包 examples/exec_server.ts 并 brotli 内嵌进 exec_server.exe
82
- make exec_server
81
+ # 打包 examples/execd.ts 并 brotli 内嵌进 execd.exe
82
+ make execd
83
83
 
84
84
  # 运行它(不需要文件参数)
85
- _build/exec_server.exe
85
+ _build/execd.exe
86
86
  ```
87
87
 
88
88
  不带脚本文件参数运行时,`qwin.exe` 会检查自身末尾是否有内嵌 JS:找到则执行内嵌代码,否则回退到 `main.js`。同时支持原始(`QWJS`)与 Brotli 压缩(`QWBR`)两种内嵌格式;压缩格式在启动时解压。
@@ -196,7 +196,7 @@ podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make
196
196
  | `make test` | 运行全部测试 |
197
197
  | `make test TEST=-net` | 跳过网络测试(快速) |
198
198
  | `make test TEST=wasm` | 仅运行 WASM 测试 |
199
- | `make exec_server` | 打包 `examples/exec_server.ts` 并 Brotli 内嵌进 `_build/exec_server.exe` |
199
+ | `make execd` | 打包 `examples/execd.ts` 并 Brotli 内嵌进 `_build/execd.exe` |
200
200
  | `make embed-js` / `embed-js-br` | 把 JS(Brotli 压缩)内嵌进 exe |
201
201
  | `make npm-pkg` | 打包到 `dist/quickwin/` |
202
202
  | `make gen-const` | 重新生成 `quickwin_const.d.ts` |