@ape-egg/vibe 1.6.1 → 1.7.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/CHANGELOG.md CHANGED
@@ -1,5 +1,65 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.7.1] - 2026-02-27
4
+
5
+ ### Added
6
+
7
+ - **Linux x64 binary** (`vibe-compiler-linux-x64`) — cross-compiled from macOS ARM using `musl-cross` and the `x86_64-unknown-linux-musl` Rust target
8
+ - Enables the compiler to run on Linux environments (e.g. Vercel, Docker, CI) without a local Rust toolchain
9
+ - New `compiler:build:linux` npm script builds the musl binary
10
+ - `publish:vibe:prepare` now builds both macOS ARM and Linux x64 binaries before publishing
11
+
12
+ ### Changed
13
+
14
+ - **`reqwest` TLS backend** — switched from `native-tls` to `rustls-tls` with `default-features = false`
15
+ - Eliminates the OpenSSL dependency that prevented cross-compilation to `x86_64-unknown-linux-musl`
16
+ - Pure-Rust TLS implementation; no system libraries required
17
+
18
+ ---
19
+
20
+ ## [1.7.0] - 2026-02-19
21
+
22
+ ### Fixed
23
+
24
+ - **Watch mode stale component cache** - Incremental recompilation no longer uses stale component content
25
+ - Component cache is cleared before every recompile trigger, ensuring components are always re-read from disk
26
+ - Component cache and parser element cache are also invalidated immediately when a component file changes
27
+ - Fixes corrupted output (old event handlers, wrong attributes) that appeared on every watch-mode save after the first
28
+
29
+ - **Custom element transform — nested hyphenated tags** (`elementsAsIs: false`)
30
+ - `<accordion-content>` inside `<accordion>` previously produced `<div class="accordion" -content>` due to the `<accordion>` regex partially matching the longer tag name
31
+ - Fixed by requiring whitespace or end-of-tag immediately after the tag name in the opening tag regex
32
+ - Tags are now also sorted by descending length so more specific names (e.g. `accordion-content`) are always processed before their prefixes (`accordion`)
33
+
34
+ - **Custom element transform — existing class preserved** (`elementsAsIs: false`)
35
+ - `<crow class="i-should-preserve">` previously compiled to `<div class="crow">`, discarding the original class
36
+ - Existing `class="..."` is now merged: result is `<div class="crow i-should-preserve">`
37
+
38
+ - **`elementsAsIs` config respected in dependency scanning**
39
+ - `fetch_components_for_files` and `fetch_all_components` were hardcoded to `elements_as_is: false`, ignoring the project config
40
+ - Both functions now correctly read `self.config.elements_as_is` and `self.config.reserved_elements`
41
+
42
+ - **`vibe-dehydrate` protected during manifest stamping**
43
+ - Content inside `<template vibe-dehydrate>` was incorrectly processed during value stamping
44
+ - Dehydrated regions are now extracted before processing and restored afterwards
45
+
46
+ - **Conditional evaluation errors handled gracefully**
47
+ - A failed `<!-- if ... -->` expression (undefined variable, syntax error) now defaults to `false` instead of crashing
48
+
49
+ ### Changed
50
+
51
+ - **Lifecycle event API** — `vibe()` now returns an object that supports `.on(event, callback)` before boot completes
52
+ - `$.on('ready', cb)` — fires once after all components load and initial processing completes
53
+ - `$.on('afterUpdate', cb)` — fires on every state change
54
+ - `$.on('afterDomMutation', cb)` — fires after every DOM mutation batch
55
+ - Listeners registered before boot are queued and replayed once the runtime is ready
56
+
57
+ - **Component `onComplete` timing** — deferred via `queueMicrotask` to give user code a chance to register listeners before the ready callback fires
58
+
59
+ - **Iteration performance** — `cloneTreeNode` avoids spread operator; `nameBindings` now correctly carried through cloned iteration trees
60
+
61
+ ---
62
+
3
63
  ## [1.6.1] - 2026-02-12
4
64
 
5
65
  ### Fixed
@@ -387,7 +447,7 @@
387
447
  - Helps explain total compilation time vs individual phase times
388
448
  - Displayed as: `* Validated components in XXms`
389
449
  - **Component tree output**: Improved verbose logging for component compilation
390
- - Tree structure with nested dependencies (e.g., nav.html → top-of-nav.html, menu.html)
450
+ - Tree structure with nested dependencies (e.g., nav.html → menu.html)
391
451
  - Usage counts for each unique component
392
452
  - Color-coded: internal (green) vs external (magenta)
393
453
  - Summary format: `Compiled components (X internal, Y external)`
@@ -540,7 +600,7 @@
540
600
  - **Iteration**: `<!-- each items as item, i -->` with efficient diffing
541
601
  - **Nested iteration**: `<!-- each category.items as item -->`
542
602
  - **Conditionals**: `<!-- if condition -->...<!-- else -->...<!-- /if -->`
543
- - **Dehydrate**: `<div dehydrate>` to skip reactive processing
603
+ - **Dehydrate**: `<div vibe-dehydrate>` to skip reactive processing
544
604
  - **Expression evaluation**: `@[count * 2]`, `@[firstName + ' ' + lastName]`
545
605
 
546
606
  ### Performance
package/README.md CHANGED
@@ -23,9 +23,9 @@ The core reactive runtime. Works directly in the browser without any build tools
23
23
  <head>
24
24
  <link rel="stylesheet" href="./node_modules/@ape-egg/vibe/vibe.css" />
25
25
  <script type="module">
26
- import state from './node_modules/@ape-egg/vibe/runtime/index.js';
27
- // Attaches to element with attribute "vibe" by default
28
- window.$ = state({ name: 'World', count: 0 });
26
+ import vibe from './node_modules/@ape-egg/vibe/index.js';
27
+
28
+ vibe({ name: 'World', count: 0 });
29
29
  </script>
30
30
  </head>
31
31
  <body vibe-fouc>
@@ -123,7 +123,7 @@ Runtime component loading with props and slots:
123
123
  Skip reactive processing for an element:
124
124
 
125
125
  ```html
126
- <code dehydrate>@[this] displays literally</code>
126
+ <code vibe-dehydrate>@[this] displays literally</code>
127
127
  ```
128
128
 
129
129
  ### Reserved Words & Gotchas
@@ -133,28 +133,35 @@ Vibe uses specific patterns and keywords that have special meaning. Avoid using
133
133
  #### Classes & Attributes
134
134
 
135
135
  - **`vibe-fouc`** — Class or attribute for FOUC (Flash of Unstyled Content) prevention. Automatically removed after hydration completes.
136
+
136
137
  ```html
137
- <body vibe-fouc> <!-- or class="vibe-fouc" -->
138
+ <body vibe-fouc>
139
+ <!-- or class="vibe-fouc" -->
140
+ </body>
138
141
  ```
139
142
 
140
143
  - **`vibe-dehydrate`** — Class or attribute to skip reactive processing. Useful for displaying literal `@[...]` syntax in documentation.
141
144
  ```html
142
- <code vibe-dehydrate>@[variable]</code> <!-- or class="vibe-dehydrate" -->
145
+ <code vibe-dehydrate>@[variable]</code>
146
+ <!-- or class="vibe-dehydrate" -->
143
147
  ```
144
148
 
145
149
  #### Element Names & Classes
146
150
 
147
151
  - **`<component>`** — Element name for component system. Used with `src` attribute for runtime component loading, or as a wrapper for inlined components.
152
+
148
153
  ```html
149
154
  <component src="/path/to/component.html"></component>
150
155
  ```
151
156
 
152
157
  - **`class="component"`** — Alternative syntax for components using standard HTML elements. Useful for HTML validation or accessibility.
158
+
153
159
  ```html
154
160
  <div class="component" src="/path/to/component.html"></div>
155
161
  ```
156
162
 
157
163
  - **`<slot>`** — Element name for component content injection. Gets replaced with content passed between component tags.
164
+
158
165
  ```html
159
166
  <!-- In component file -->
160
167
  <slot></slot>
@@ -168,6 +175,7 @@ Vibe uses specific patterns and keywords that have special meaning. Avoid using
168
175
  #### Comment Syntax
169
176
 
170
177
  - **`<!-- each -->`** / **`<!-- /each -->`** — Iteration block markers.
178
+
171
179
  ```html
172
180
  <!-- each items as item -->
173
181
  <!-- /each -->
@@ -190,9 +198,10 @@ Vibe uses specific patterns and keywords that have special meaning. Avoid using
190
198
  #### Global Properties
191
199
 
192
200
  - **`window.$`** — Global reactive state object. All reactive data should be accessed through this.
201
+
193
202
  ```javascript
194
203
  window.$ = state({ count: 0 });
195
- $.count++; // Triggers reactive updates
204
+ $.count++; // Triggers reactive updates
196
205
  ```
197
206
 
198
207
  - **`window.__vibeManifest`** — Internal manifest data. Used by the compiler for optimization. Don't modify.
@@ -208,13 +217,14 @@ Vibe uses specific patterns and keywords that have special meaning. Avoid using
208
217
  - **`vibe:ready`** — Custom event fired when Vibe completes initial hydration.
209
218
  ```javascript
210
219
  document.addEventListener('vibe:ready', () => {
211
- console.log('Vibe is ready');
220
+ console.info('Vibe is ready');
212
221
  });
213
222
  ```
214
223
 
215
224
  #### Special Attribute Meanings
216
225
 
217
226
  - **`src`** on **`<component>`** or **`<div class="component">`** — Triggers runtime component fetching. Components without `src` are treated as inline wrappers.
227
+
218
228
  ```html
219
229
  <!-- Both work the same way -->
220
230
  <component src="/components/card.html"></component>
@@ -281,7 +291,6 @@ bunx vibe compile --minify --source-maps
281
291
  bunx vibe compile --verbose # Step-by-step logging
282
292
  bunx vibe compile --minify # Minify output
283
293
  bunx vibe compile --elements-as-is # Keep custom elements as-is
284
- bunx vibe compile --validate # Validate HTML syntax
285
294
  bunx vibe compile --source-maps # Generate source maps
286
295
  bunx vibe compile --node-modules-as-is # Copy node_modules as-is
287
296
  bunx vibe compile --components-as-is # Skip component inlining
@@ -319,7 +328,6 @@ Add to your `package.json`:
319
328
  "elementsAsIs": false,
320
329
  "reservedElements": [],
321
330
  "sourceMaps": false,
322
- "validate": false,
323
331
  "nodeModulesAsIs": false,
324
332
  "componentsAsIs": false,
325
333
  "runtimeAsIs": false,
@@ -385,6 +393,7 @@ bunx vibe compile --watch
385
393
  ```
386
394
 
387
395
  Features:
396
+
388
397
  - **Incremental builds** — Only recompiles changed files (~100ms)
389
398
  - **Dependency tracking** — Changes to components trigger recompilation of pages using them
390
399
  - **Debounced** — 300ms debounce prevents excessive compilation during rapid changes
package/boot.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // Used by both index.js (global state) and component.js (component state)
3
3
 
4
4
  import main from './runtime/index.js';
5
+ import { getPendingListeners } from './index.js';
5
6
 
6
7
  let bootQueued = false;
7
8
  let booted = false;
@@ -39,6 +40,16 @@ export const boot = () => {
39
40
  // Boot with merged state
40
41
  window.$ = main(mergedState, config, targetSelector);
41
42
 
43
+ // Apply pending listeners from vibe instance
44
+ const pendingListeners = getPendingListeners();
45
+ if (pendingListeners) {
46
+ Object.keys(pendingListeners).forEach(event => {
47
+ pendingListeners[event].forEach(callback => {
48
+ window.$.on(event, callback);
49
+ });
50
+ });
51
+ }
52
+
42
53
  return window.$;
43
54
  };
44
55
 
@@ -302,22 +302,6 @@ version = "1.0.2"
302
302
  source = "registry+https://github.com/rust-lang/crates.io-index"
303
303
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
304
304
 
305
- [[package]]
306
- name = "errno"
307
- version = "0.3.14"
308
- source = "registry+https://github.com/rust-lang/crates.io-index"
309
- checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
310
- dependencies = [
311
- "libc",
312
- "windows-sys 0.61.2",
313
- ]
314
-
315
- [[package]]
316
- name = "fastrand"
317
- version = "2.3.0"
318
- source = "registry+https://github.com/rust-lang/crates.io-index"
319
- checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
320
-
321
305
  [[package]]
322
306
  name = "file-id"
323
307
  version = "0.2.3"
@@ -350,21 +334,6 @@ version = "1.0.7"
350
334
  source = "registry+https://github.com/rust-lang/crates.io-index"
351
335
  checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
352
336
 
353
- [[package]]
354
- name = "foreign-types"
355
- version = "0.3.2"
356
- source = "registry+https://github.com/rust-lang/crates.io-index"
357
- checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
358
- dependencies = [
359
- "foreign-types-shared",
360
- ]
361
-
362
- [[package]]
363
- name = "foreign-types-shared"
364
- version = "0.1.1"
365
- source = "registry+https://github.com/rust-lang/crates.io-index"
366
- checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
367
-
368
337
  [[package]]
369
338
  name = "form_urlencoded"
370
339
  version = "1.2.2"
@@ -454,14 +423,13 @@ dependencies = [
454
423
 
455
424
  [[package]]
456
425
  name = "getrandom"
457
- version = "0.3.4"
426
+ version = "0.2.17"
458
427
  source = "registry+https://github.com/rust-lang/crates.io-index"
459
- checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
428
+ checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
460
429
  dependencies = [
461
430
  "cfg-if",
462
431
  "libc",
463
- "r-efi",
464
- "wasip2",
432
+ "wasi",
465
433
  ]
466
434
 
467
435
  [[package]]
@@ -598,16 +566,17 @@ dependencies = [
598
566
  ]
599
567
 
600
568
  [[package]]
601
- name = "hyper-tls"
602
- version = "0.5.0"
569
+ name = "hyper-rustls"
570
+ version = "0.24.2"
603
571
  source = "registry+https://github.com/rust-lang/crates.io-index"
604
- checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
572
+ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
605
573
  dependencies = [
606
- "bytes",
574
+ "futures-util",
575
+ "http",
607
576
  "hyper",
608
- "native-tls",
577
+ "rustls",
609
578
  "tokio",
610
- "tokio-native-tls",
579
+ "tokio-rustls",
611
580
  ]
612
581
 
613
582
  [[package]]
@@ -825,12 +794,6 @@ dependencies = [
825
794
  "redox_syscall 0.7.1",
826
795
  ]
827
796
 
828
- [[package]]
829
- name = "linux-raw-sys"
830
- version = "0.11.0"
831
- source = "registry+https://github.com/rust-lang/crates.io-index"
832
- checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
833
-
834
797
  [[package]]
835
798
  name = "litemap"
836
799
  version = "0.8.1"
@@ -919,23 +882,6 @@ dependencies = [
919
882
  "windows-sys 0.61.2",
920
883
  ]
921
884
 
922
- [[package]]
923
- name = "native-tls"
924
- version = "0.2.14"
925
- source = "registry+https://github.com/rust-lang/crates.io-index"
926
- checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
927
- dependencies = [
928
- "libc",
929
- "log",
930
- "openssl",
931
- "openssl-probe",
932
- "openssl-sys",
933
- "schannel",
934
- "security-framework",
935
- "security-framework-sys",
936
- "tempfile",
937
- ]
938
-
939
885
  [[package]]
940
886
  name = "new_debug_unreachable"
941
887
  version = "1.0.6"
@@ -1025,50 +971,6 @@ version = "1.70.2"
1025
971
  source = "registry+https://github.com/rust-lang/crates.io-index"
1026
972
  checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
1027
973
 
1028
- [[package]]
1029
- name = "openssl"
1030
- version = "0.10.75"
1031
- source = "registry+https://github.com/rust-lang/crates.io-index"
1032
- checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328"
1033
- dependencies = [
1034
- "bitflags 2.10.0",
1035
- "cfg-if",
1036
- "foreign-types",
1037
- "libc",
1038
- "once_cell",
1039
- "openssl-macros",
1040
- "openssl-sys",
1041
- ]
1042
-
1043
- [[package]]
1044
- name = "openssl-macros"
1045
- version = "0.1.1"
1046
- source = "registry+https://github.com/rust-lang/crates.io-index"
1047
- checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1048
- dependencies = [
1049
- "proc-macro2",
1050
- "quote",
1051
- "syn 2.0.114",
1052
- ]
1053
-
1054
- [[package]]
1055
- name = "openssl-probe"
1056
- version = "0.1.6"
1057
- source = "registry+https://github.com/rust-lang/crates.io-index"
1058
- checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
1059
-
1060
- [[package]]
1061
- name = "openssl-sys"
1062
- version = "0.9.111"
1063
- source = "registry+https://github.com/rust-lang/crates.io-index"
1064
- checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321"
1065
- dependencies = [
1066
- "cc",
1067
- "libc",
1068
- "pkg-config",
1069
- "vcpkg",
1070
- ]
1071
-
1072
974
  [[package]]
1073
975
  name = "parking_lot"
1074
976
  version = "0.12.5"
@@ -1162,12 +1064,6 @@ version = "0.1.0"
1162
1064
  source = "registry+https://github.com/rust-lang/crates.io-index"
1163
1065
  checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1164
1066
 
1165
- [[package]]
1166
- name = "pkg-config"
1167
- version = "0.3.32"
1168
- source = "registry+https://github.com/rust-lang/crates.io-index"
1169
- checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
1170
-
1171
1067
  [[package]]
1172
1068
  name = "potential_utf"
1173
1069
  version = "0.1.4"
@@ -1231,12 +1127,6 @@ dependencies = [
1231
1127
  "proc-macro2",
1232
1128
  ]
1233
1129
 
1234
- [[package]]
1235
- name = "r-efi"
1236
- version = "5.3.0"
1237
- source = "registry+https://github.com/rust-lang/crates.io-index"
1238
- checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1239
-
1240
1130
  [[package]]
1241
1131
  name = "rand"
1242
1132
  version = "0.8.5"
@@ -1334,15 +1224,15 @@ dependencies = [
1334
1224
  "http",
1335
1225
  "http-body",
1336
1226
  "hyper",
1337
- "hyper-tls",
1227
+ "hyper-rustls",
1338
1228
  "ipnet",
1339
1229
  "js-sys",
1340
1230
  "log",
1341
1231
  "mime",
1342
- "native-tls",
1343
1232
  "once_cell",
1344
1233
  "percent-encoding",
1345
1234
  "pin-project-lite",
1235
+ "rustls",
1346
1236
  "rustls-pemfile",
1347
1237
  "serde",
1348
1238
  "serde_json",
@@ -1350,15 +1240,30 @@ dependencies = [
1350
1240
  "sync_wrapper",
1351
1241
  "system-configuration",
1352
1242
  "tokio",
1353
- "tokio-native-tls",
1243
+ "tokio-rustls",
1354
1244
  "tower-service",
1355
1245
  "url",
1356
1246
  "wasm-bindgen",
1357
1247
  "wasm-bindgen-futures",
1358
1248
  "web-sys",
1249
+ "webpki-roots",
1359
1250
  "winreg",
1360
1251
  ]
1361
1252
 
1253
+ [[package]]
1254
+ name = "ring"
1255
+ version = "0.17.14"
1256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1257
+ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
1258
+ dependencies = [
1259
+ "cc",
1260
+ "cfg-if",
1261
+ "getrandom",
1262
+ "libc",
1263
+ "untrusted",
1264
+ "windows-sys 0.52.0",
1265
+ ]
1266
+
1362
1267
  [[package]]
1363
1268
  name = "rquickjs"
1364
1269
  version = "0.6.2"
@@ -1393,16 +1298,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1393
1298
  checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
1394
1299
 
1395
1300
  [[package]]
1396
- name = "rustix"
1397
- version = "1.1.3"
1301
+ name = "rustls"
1302
+ version = "0.21.12"
1398
1303
  source = "registry+https://github.com/rust-lang/crates.io-index"
1399
- checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34"
1304
+ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
1400
1305
  dependencies = [
1401
- "bitflags 2.10.0",
1402
- "errno",
1403
- "libc",
1404
- "linux-raw-sys",
1405
- "windows-sys 0.61.2",
1306
+ "log",
1307
+ "ring",
1308
+ "rustls-webpki",
1309
+ "sct",
1406
1310
  ]
1407
1311
 
1408
1312
  [[package]]
@@ -1414,6 +1318,16 @@ dependencies = [
1414
1318
  "base64",
1415
1319
  ]
1416
1320
 
1321
+ [[package]]
1322
+ name = "rustls-webpki"
1323
+ version = "0.101.7"
1324
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1325
+ checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
1326
+ dependencies = [
1327
+ "ring",
1328
+ "untrusted",
1329
+ ]
1330
+
1417
1331
  [[package]]
1418
1332
  name = "rustversion"
1419
1333
  version = "1.0.22"
@@ -1435,15 +1349,6 @@ dependencies = [
1435
1349
  "winapi-util",
1436
1350
  ]
1437
1351
 
1438
- [[package]]
1439
- name = "schannel"
1440
- version = "0.1.28"
1441
- source = "registry+https://github.com/rust-lang/crates.io-index"
1442
- checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1"
1443
- dependencies = [
1444
- "windows-sys 0.61.2",
1445
- ]
1446
-
1447
1352
  [[package]]
1448
1353
  name = "scoped-tls"
1449
1354
  version = "1.0.1"
@@ -1457,26 +1362,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1457
1362
  checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
1458
1363
 
1459
1364
  [[package]]
1460
- name = "security-framework"
1461
- version = "2.11.1"
1462
- source = "registry+https://github.com/rust-lang/crates.io-index"
1463
- checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
1464
- dependencies = [
1465
- "bitflags 2.10.0",
1466
- "core-foundation",
1467
- "core-foundation-sys",
1468
- "libc",
1469
- "security-framework-sys",
1470
- ]
1471
-
1472
- [[package]]
1473
- name = "security-framework-sys"
1474
- version = "2.15.0"
1365
+ name = "sct"
1366
+ version = "0.7.1"
1475
1367
  source = "registry+https://github.com/rust-lang/crates.io-index"
1476
- checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0"
1368
+ checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
1477
1369
  dependencies = [
1478
- "core-foundation-sys",
1479
- "libc",
1370
+ "ring",
1371
+ "untrusted",
1480
1372
  ]
1481
1373
 
1482
1374
  [[package]]
@@ -1849,19 +1741,6 @@ dependencies = [
1849
1741
  "libc",
1850
1742
  ]
1851
1743
 
1852
- [[package]]
1853
- name = "tempfile"
1854
- version = "3.24.0"
1855
- source = "registry+https://github.com/rust-lang/crates.io-index"
1856
- checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c"
1857
- dependencies = [
1858
- "fastrand",
1859
- "getrandom",
1860
- "once_cell",
1861
- "rustix",
1862
- "windows-sys 0.61.2",
1863
- ]
1864
-
1865
1744
  [[package]]
1866
1745
  name = "tendril"
1867
1746
  version = "0.4.3"
@@ -1918,12 +1797,12 @@ dependencies = [
1918
1797
  ]
1919
1798
 
1920
1799
  [[package]]
1921
- name = "tokio-native-tls"
1922
- version = "0.3.1"
1800
+ name = "tokio-rustls"
1801
+ version = "0.24.1"
1923
1802
  source = "registry+https://github.com/rust-lang/crates.io-index"
1924
- checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
1803
+ checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
1925
1804
  dependencies = [
1926
- "native-tls",
1805
+ "rustls",
1927
1806
  "tokio",
1928
1807
  ]
1929
1808
 
@@ -2017,6 +1896,12 @@ version = "0.1.14"
2017
1896
  source = "registry+https://github.com/rust-lang/crates.io-index"
2018
1897
  checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
2019
1898
 
1899
+ [[package]]
1900
+ name = "untrusted"
1901
+ version = "0.9.0"
1902
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1903
+ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
1904
+
2020
1905
  [[package]]
2021
1906
  name = "url"
2022
1907
  version = "2.5.8"
@@ -2047,12 +1932,6 @@ version = "0.2.2"
2047
1932
  source = "registry+https://github.com/rust-lang/crates.io-index"
2048
1933
  checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
2049
1934
 
2050
- [[package]]
2051
- name = "vcpkg"
2052
- version = "0.2.15"
2053
- source = "registry+https://github.com/rust-lang/crates.io-index"
2054
- checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
2055
-
2056
1935
  [[package]]
2057
1936
  name = "version_check"
2058
1937
  version = "0.9.5"
@@ -2061,7 +1940,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2061
1940
 
2062
1941
  [[package]]
2063
1942
  name = "vibe-compiler"
2064
- version = "1.6.1"
1943
+ version = "1.7.1"
2065
1944
  dependencies = [
2066
1945
  "clap",
2067
1946
  "colored",
@@ -2109,15 +1988,6 @@ version = "0.11.1+wasi-snapshot-preview1"
2109
1988
  source = "registry+https://github.com/rust-lang/crates.io-index"
2110
1989
  checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
2111
1990
 
2112
- [[package]]
2113
- name = "wasip2"
2114
- version = "1.0.2+wasi-0.2.9"
2115
- source = "registry+https://github.com/rust-lang/crates.io-index"
2116
- checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
2117
- dependencies = [
2118
- "wit-bindgen",
2119
- ]
2120
-
2121
1991
  [[package]]
2122
1992
  name = "wasm-bindgen"
2123
1993
  version = "0.2.108"
@@ -2187,6 +2057,12 @@ dependencies = [
2187
2057
  "wasm-bindgen",
2188
2058
  ]
2189
2059
 
2060
+ [[package]]
2061
+ name = "webpki-roots"
2062
+ version = "0.25.4"
2063
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2064
+ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
2065
+
2190
2066
  [[package]]
2191
2067
  name = "winapi-util"
2192
2068
  version = "0.1.11"
@@ -2443,12 +2319,6 @@ dependencies = [
2443
2319
  "windows-sys 0.48.0",
2444
2320
  ]
2445
2321
 
2446
- [[package]]
2447
- name = "wit-bindgen"
2448
- version = "0.51.0"
2449
- source = "registry+https://github.com/rust-lang/crates.io-index"
2450
- checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
2451
-
2452
2322
  [[package]]
2453
2323
  name = "writeable"
2454
2324
  version = "0.6.2"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "vibe-compiler"
3
- version = "1.6.1"
3
+ version = "1.7.1"
4
4
  edition = "2021"
5
5
  description = "Vibe framework compiler - compiles Vibe source files into optimized output"
6
6
  authors = ["Kim Korte"]
@@ -20,7 +20,7 @@ markup5ever = "0.12"
20
20
  thiserror = "1.0"
21
21
  regex = "1.10"
22
22
  colored = "2.1"
23
- reqwest = { version = "0.11", features = ["blocking"] }
23
+ reqwest = { version = "0.11", features = ["blocking", "rustls-tls"], default-features = false }
24
24
  glob = "0.3"
25
25
  rquickjs = "0.6"
26
26
  swc_common = "=0.40.1"