quickwin 2.2.0 → 2.3.1
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/README.en.md +7 -7
- package/README.md +7 -7
- package/constants.ts +1070 -0
- package/enum_map.d.ts +130 -0
- package/examples/PdfCanvas.js +2 -2
- package/examples/PdfCanvas.tsx +3 -2
- package/examples/{execd.js → execd/main.js} +717 -148
- package/examples/execd/tray.js +192 -0
- package/examples/{execd_worker.js → execd/worker.js} +7 -7
- package/examples/pdf_preview2.js +46 -46
- package/examples/pdf_preview2.ts +55 -54
- package/examples/pdf_viewer.js +34 -19
- package/examples/pdf_viewer.tsx +6 -5
- package/examples/test_gallery.js +35 -20
- package/examples/test_gallery.tsx +9 -8
- package/examples/test_react_lazy.js +34 -19
- package/examples/test_react_lazy.tsx +7 -6
- package/examples/test_react_listbox.js +34 -19
- package/examples/test_react_listbox.tsx +8 -7
- package/examples/test_root_window.js +34 -19
- package/examples/test_root_window.tsx +5 -5
- package/examples/test_tab.js +34 -19
- package/examples/test_tab.tsx +7 -6
- package/examples/tray_demo.js +8 -8
- package/examples/tray_demo.tsx +9 -8
- package/lib/dumpRects.js +2 -2
- package/lib/dumpRects.ts +3 -2
- package/lib/fetch.js +15 -15
- package/lib/fetch.ts +16 -15
- package/lib/ffi/bind.js +3 -3
- package/lib/ffi/bind.ts +3 -3
- package/lib/http-server.js +54 -29
- package/lib/http-server.ts +56 -27
- package/lib/react-qw/components/Button.js +2 -2
- package/lib/react-qw/components/CheckBox.js +4 -4
- package/lib/react-qw/components/ComboBox.js +10 -10
- package/lib/react-qw/components/DateTimePicker.js +12 -12
- package/lib/react-qw/components/Input.js +7 -7
- package/lib/react-qw/components/Link.js +4 -4
- package/lib/react-qw/components/ListBox.js +12 -12
- package/lib/react-qw/components/ListView.js +35 -35
- package/lib/react-qw/components/PathPicker.js +3 -3
- package/lib/react-qw/components/ProgressBar.js +4 -4
- package/lib/react-qw/components/RadioButton.js +4 -4
- package/lib/react-qw/components/ScrollView.js +28 -28
- package/lib/react-qw/components/Slider.js +11 -11
- package/lib/react-qw/components/Tab.js +10 -10
- package/lib/react-qw/components/Tooltip.js +8 -8
- package/lib/react-qw/components/TreeView.js +20 -20
- package/lib/react-qw/index.js +5 -5
- package/lib/react-qw/index.ts +6 -5
- package/lib/react-qw/props.js +4 -4
- package/lib/react-qw/props.ts +5 -4
- package/lib/react-qw/reconciler.js +10 -10
- package/lib/react-qw/reconciler.ts +11 -10
- package/lib/text-measure.js +3 -3
- package/lib/text-measure.ts +4 -3
- package/lib/websocket.js +17 -17
- package/lib/websocket.ts +18 -17
- package/lib/windows/advapi32.js +7 -7
- package/lib/windows/advapi32.ts +7 -7
- package/lib/windows/gdi32.js +16 -16
- package/lib/windows/gdi32.ts +16 -16
- package/lib/windows/kernel32.js +41 -2
- package/lib/windows/kernel32.ts +45 -2
- package/lib/windows/shell32.js +24 -3
- package/lib/windows/shell32.ts +27 -4
- package/lib/windows/structs.js +54 -0
- package/lib/windows/structs.ts +63 -1
- package/lib/windows/user32.js +18 -6
- package/lib/windows/user32.ts +18 -6
- package/lib/windows/winspool.js +3 -3
- package/lib/windows/winspool.ts +3 -3
- package/package.json +4 -3
- package/quickwin.d.ts +32 -10
- package/qwin-nowasm-x86.exe +0 -0
- package/qwin-nowasm.exe +0 -0
- package/qwin-x86.exe +0 -0
- package/qwin.exe +0 -0
- package/test/test_ffi_bind.js +7 -7
- package/test/test_ffi_bind.ts +8 -8
- package/test/test_ffi_struct.js +2 -2
- package/test/test_ffi_struct.ts +3 -3
- package/test/test_ffi_windows.js +1 -1
- package/test/test_ffi_windows.ts +1 -1
- package/test/test_files.js +7 -7
- package/test/test_files.ts +8 -8
- package/test/test_gdi_draw.js +51 -51
- package/test/test_gdi_draw.ts +57 -57
- package/test/test_http_server.js +3 -3
- package/test/test_http_server.ts +4 -3
- package/test/test_ipv6.js +3 -3
- package/test/test_ipv6.ts +4 -3
- package/test/test_net_event.js +3 -3
- package/test/test_net_event.ts +4 -3
- package/test/test_printer.js +4 -4
- package/test/test_printer.ts +5 -5
- package/test/test_react_complex.js +36 -21
- package/test/test_react_counter.js +34 -19
- package/test/test_react_flex.js +36 -21
- package/test/test_react_hidden.js +34 -19
- package/test/test_react_listview_link.js +35 -20
- package/test/test_react_notify.js +52 -37
- package/test/test_react_render.js +34 -19
- package/test/test_registry.js +6 -6
- package/test/test_registry.ts +8 -8
- package/test/test_wolfssl_read.js +8 -8
- package/test/test_wolfssl_read.ts +9 -8
- package/examples/execd.tsx +0 -798
- package/examples/execd_worker.ts +0 -127
- package/quickwin_const.d.ts +0 -1063
package/README.en.md
CHANGED
|
@@ -16,8 +16,8 @@ npm install quickwin
|
|
|
16
16
|
npx quickwin node_modules/quickwin/main.js # bundled main.js demo; use npx quickwin script.js for your own scripts
|
|
17
17
|
|
|
18
18
|
# Option 2: download directly from GitHub Release
|
|
19
|
-
iwr https://github.com/
|
|
20
|
-
iwr https://github.com/
|
|
19
|
+
iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
|
|
20
|
+
iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/main.js -OutFile main.js
|
|
21
21
|
.\qwin.exe main.js
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -80,7 +80,7 @@ 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/execd.
|
|
83
|
+
# Bundle examples/execd/main.tsx and brotli-embed into execd.exe
|
|
84
84
|
make execd
|
|
85
85
|
|
|
86
86
|
# Run it (no file argument needed)
|
|
@@ -174,10 +174,10 @@ Both sides must set `onmessage = null` when communication is complete. This rele
|
|
|
174
174
|
### Build
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
git clone --recursive https://github.com/
|
|
177
|
+
git clone --recursive https://github.com/quickwinlabs/quickwin.git
|
|
178
178
|
cd quickwin
|
|
179
179
|
|
|
180
|
-
./docker/dev-podman.sh up # start dev container (reuses ghcr.io/
|
|
180
|
+
./docker/dev-podman.sh up # start dev container (reuses ghcr.io/quickwinlabs/quickwin-dev)
|
|
181
181
|
podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make test TEST=-net'
|
|
182
182
|
```
|
|
183
183
|
|
|
@@ -198,10 +198,10 @@ 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 execd` | bundle `examples/execd.
|
|
201
|
+
| `make execd` | bundle `examples/execd/main.tsx` 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
|
-
| `make gen-const` | regenerate `
|
|
204
|
+
| `make gen-const` | regenerate `constants.ts` (run `_build/gen_const.exe` in the VM) |
|
|
205
205
|
| `make clean` / `distclean` | clean (wipes all of `_build/`; afterwards run `make js wasm`) |
|
|
206
206
|
|
|
207
207
|
Build and troubleshooting details: `.agents/DEVELOPMENT_WORKFLOW.md`.
|
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ npm install quickwin
|
|
|
16
16
|
npx quickwin node_modules/quickwin/main.js # 包自带 main.js 示例;用 npx quickwin script.js 运行你自己的脚本
|
|
17
17
|
|
|
18
18
|
# 方式二:直接从 GitHub Release 下载
|
|
19
|
-
iwr https://github.com/
|
|
20
|
-
iwr https://github.com/
|
|
19
|
+
iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
|
|
20
|
+
iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/main.js -OutFile main.js
|
|
21
21
|
.\qwin.exe main.js
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -78,7 +78,7 @@ 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/execd.
|
|
81
|
+
# 打包 examples/execd/main.tsx 并 brotli 内嵌进 execd.exe
|
|
82
82
|
make execd
|
|
83
83
|
|
|
84
84
|
# 运行它(不需要文件参数)
|
|
@@ -172,10 +172,10 @@ parent.onmessage = (e) => {
|
|
|
172
172
|
### 构建
|
|
173
173
|
|
|
174
174
|
```bash
|
|
175
|
-
git clone --recursive https://github.com/
|
|
175
|
+
git clone --recursive https://github.com/quickwinlabs/quickwin.git
|
|
176
176
|
cd quickwin
|
|
177
177
|
|
|
178
|
-
./docker/dev-podman.sh up # 启动开发容器(复用 ghcr.io/
|
|
178
|
+
./docker/dev-podman.sh up # 启动开发容器(复用 ghcr.io/quickwinlabs/quickwin-dev)
|
|
179
179
|
podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make test TEST=-net'
|
|
180
180
|
```
|
|
181
181
|
|
|
@@ -196,10 +196,10 @@ 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 execd` | 打包 `examples/execd.
|
|
199
|
+
| `make execd` | 打包 `examples/execd/main.tsx` 并 Brotli 内嵌进 `_build/execd.exe` |
|
|
200
200
|
| `make embed-js` / `embed-js-br` | 把 JS(Brotli 压缩)内嵌进 exe |
|
|
201
201
|
| `make npm-pkg` | 打包到 `dist/quickwin/` |
|
|
202
|
-
| `make gen-const` | 重新生成 `
|
|
202
|
+
| `make gen-const` | 重新生成 `constants.ts`(在 VM 里跑 `_build/gen_const.exe`) |
|
|
203
203
|
| `make clean` / `distclean` | 清理(会清掉整个 `_build/`,之后需 `make js wasm`) |
|
|
204
204
|
|
|
205
205
|
构建与排错细节见 `.agents/DEVELOPMENT_WORKFLOW.md`。
|