@bkm016/basalt 0.1.0 → 0.1.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.
Files changed (174) hide show
  1. package/chunk-09vr609h.js +2 -0
  2. package/chunk-0qqb6v41.js +3753 -0
  3. package/{chunk-1egbcp85.js → chunk-0yytz0r1.js} +7 -7
  4. package/{chunk-rjdhaasf.js → chunk-1aspj1hn.js} +2 -2
  5. package/chunk-1b7gbe8g.js +10 -0
  6. package/{chunk-665jzf2w.js → chunk-1v7st27a.js} +11 -11
  7. package/{chunk-5fdgy0q2.js → chunk-2bb01ddq.js} +10 -10
  8. package/{chunk-kjr81mrd.js → chunk-2wkaw73s.js} +3 -3
  9. package/{chunk-xhk54h2q.js → chunk-3m7qwfm3.js} +4 -4
  10. package/{chunk-0tdv0t5q.js → chunk-44ek81ad.js} +2 -2
  11. package/{chunk-wc5j0hfw.js → chunk-45cz26ap.js} +2 -2
  12. package/{chunk-0rya8cxe.js → chunk-6e49xsf5.js} +2 -2
  13. package/{chunk-bj14jshr.js → chunk-6qertm2t.js} +2 -2
  14. package/chunk-8dxzqwq3.js +2 -0
  15. package/chunk-9mmz6wt3.js +2 -0
  16. package/{chunk-3jz9g8ab.js → chunk-a3tqx584.js} +3 -3
  17. package/{chunk-y9xe9ct2.js → chunk-a8nyk4k9.js} +1 -1
  18. package/{chunk-qffb7een.js → chunk-bhqyxyap.js} +2 -2
  19. package/chunk-bpw6q7g0.js +3 -0
  20. package/{chunk-tnrqkc7b.js → chunk-cv5wsd9m.js} +1 -1
  21. package/{chunk-5wp4egky.js → chunk-dhm42y04.js} +2 -2
  22. package/{chunk-913tfr9c.js → chunk-exnn1867.js} +1 -1
  23. package/{chunk-7yw8aa5j.js → chunk-f7egr55n.js} +4 -4
  24. package/{chunk-kgdrjqsy.js → chunk-g2t6t8fk.js} +2 -2
  25. package/{chunk-qbf8x2ft.js → chunk-h6sw8fbt.js} +1 -1
  26. package/chunk-jhd54p1b.js +3 -0
  27. package/{chunk-x9982ek7.js → chunk-kf8hq21a.js} +2 -2
  28. package/{chunk-zt1wvkyf.js → chunk-kfq8wyd3.js} +1 -1
  29. package/chunk-nt2gntad.js +2 -0
  30. package/{chunk-wd9zxhza.js → chunk-pmc3y1z8.js} +1 -1
  31. package/{chunk-3p7q2pyp.js → chunk-pvncysbb.js} +1 -1
  32. package/chunk-q8zx3kt6.js +2 -0
  33. package/{chunk-sf13azm4.js → chunk-qczbfccb.js} +3 -3
  34. package/chunk-qx0m82rw.js +2 -0
  35. package/chunk-ry0z4ev6.js +2 -0
  36. package/{chunk-g2k3yhgh.js → chunk-s37s3k24.js} +3 -3
  37. package/{chunk-y8ced1jm.js → chunk-sh74qzvt.js} +1 -1
  38. package/{chunk-9y69ywyg.js → chunk-szat3vp4.js} +2 -2
  39. package/chunk-tvm4zmgj.js +3 -0
  40. package/{chunk-8wjgbd9k.js → chunk-vgvq3q12.js} +2 -2
  41. package/{chunk-d913kpyw.js → chunk-vv7fp27r.js} +2 -2
  42. package/{chunk-97kjn55j.js → chunk-wjd9fr23.js} +1 -1
  43. package/{chunk-6gyhajhx.js → chunk-x3dnb9sz.js} +2 -2
  44. package/chunk-xysny0ve.js +3 -0
  45. package/{chunk-qcwnkr5y.js → chunk-yskm0hsy.js} +1 -1
  46. package/{chunk-sytpmbfp.js → chunk-zef13k3h.js} +36 -36
  47. package/cli.js +89 -0
  48. package/compiled.js +12 -3762
  49. package/package.json +4 -3
  50. package/ui-test-worker.js +31 -31
  51. package/web/{chunk-rkesqprv.js → chunk-05w4fyzc.js} +1 -1
  52. package/web/{chunk-ev1g5cqw.js → chunk-0vt9fg48.js} +1 -1
  53. package/web/{chunk-55kw67nv.js → chunk-22a4ety5.js} +1 -1
  54. package/web/{chunk-hryhthxr.js → chunk-2m12wyrb.js} +1 -1
  55. package/web/{chunk-svmhj9hd.js → chunk-2msj52w6.js} +1 -1
  56. package/web/{chunk-rsn8j7xv.js → chunk-2ps6mepk.js} +1 -1
  57. package/web/chunk-2pver6r4.js +1 -0
  58. package/web/{chunk-1t760bg0.js → chunk-2scce33n.js} +1 -1
  59. package/web/chunk-37ajk6zg.js +2 -0
  60. package/web/{chunk-haphmhz8.js → chunk-3ee04tmm.js} +1 -1
  61. package/web/{chunk-c85wxnpw.js → chunk-3jhyzmnf.js} +1 -1
  62. package/web/{chunk-pz934t6t.js → chunk-45fzdcgz.js} +1 -1
  63. package/web/{chunk-ea9swkkt.js → chunk-4ks96e4r.js} +1 -1
  64. package/web/{chunk-0k0hvh59.js → chunk-4v8en1yw.js} +1 -1
  65. package/web/chunk-4wkm9fda.js +1 -0
  66. package/web/{chunk-zk2f7x5e.js → chunk-5vw9rs4r.js} +1 -1
  67. package/web/{chunk-mq92vqb1.js → chunk-70qwwwak.js} +1 -1
  68. package/web/{chunk-4b5mt5pd.js → chunk-8p4tc9f4.js} +1 -1
  69. package/web/{chunk-3pm4645m.js → chunk-90kp4pnz.js} +1 -1
  70. package/web/{chunk-ytpwz01r.js → chunk-9an7cjd9.js} +1 -1
  71. package/web/{chunk-29e1trsq.js → chunk-9dxjafp2.js} +1 -1
  72. package/web/{chunk-ykxpb3wv.js → chunk-9p12mgs6.js} +1 -1
  73. package/web/{chunk-sc63gh9d.js → chunk-9yakxvjb.js} +1 -1
  74. package/web/{chunk-fdkp6tzq.js → chunk-a1z5qx1r.js} +1 -1
  75. package/web/{chunk-v6v831tc.js → chunk-a3verqw9.js} +1 -1
  76. package/web/{chunk-vqjs551t.js → chunk-a5x2zveg.js} +1 -1
  77. package/web/chunk-amzgyy1k.js +1 -0
  78. package/web/{chunk-e5rmr47n.js → chunk-b1pe46zz.js} +1 -1
  79. package/web/{chunk-1v3d60pp.js → chunk-b4wbk7vc.js} +1 -1
  80. package/web/{chunk-3bqh2dkw.js → chunk-bc78qf1m.js} +1 -1
  81. package/web/{chunk-tfyxp2qs.js → chunk-bgnnrpna.js} +1 -1
  82. package/web/{chunk-vadqkz3x.js → chunk-bj90t5gh.js} +1 -1
  83. package/web/{chunk-mdsgekpk.js → chunk-bjkc94mv.js} +1 -1
  84. package/web/{chunk-3cfabjey.js → chunk-ca682sm6.js} +1 -1
  85. package/web/chunk-cff5hcm8.js +8 -0
  86. package/web/{chunk-942prjb6.js → chunk-dt462hk9.js} +1 -1
  87. package/web/{chunk-bwyw10wx.js → chunk-dzwxgqgm.js} +1 -1
  88. package/web/{chunk-bhe4jzha.js → chunk-e32y85kx.js} +1 -1
  89. package/web/{chunk-v47rhg7b.js → chunk-e53wfgb8.js} +1 -1
  90. package/web/{chunk-ezyvv4ab.js → chunk-e6jxqbv7.js} +1 -1
  91. package/web/chunk-esp1mmgr.js +1 -0
  92. package/web/chunk-ew3cgdtd.js +1 -0
  93. package/web/{chunk-svdzmaxb.js → chunk-f26smjjf.js} +1 -1
  94. package/web/{chunk-jvhmna7z.js → chunk-fk0dh93x.js} +1 -1
  95. package/web/{chunk-3pf33xsm.js → chunk-fm2ybfj5.js} +1 -1
  96. package/web/{chunk-6r912gfj.js → chunk-fscafg24.js} +1 -1
  97. package/web/{chunk-canbct9d.js → chunk-fz06t6km.js} +1 -1
  98. package/web/{chunk-rz6wwdd5.js → chunk-g4azyef7.js} +1 -1
  99. package/web/chunk-gjq1pxw3.js +1 -0
  100. package/web/{chunk-0xck277j.js → chunk-gqw3f02j.js} +1 -1
  101. package/web/chunk-h5ejbf6e.js +1 -0
  102. package/web/{chunk-kbtbbarw.js → chunk-hev4hq89.js} +1 -1
  103. package/web/chunk-jjh5jvva.js +1 -0
  104. package/web/{chunk-a3xt6840.js → chunk-jrcyc9s9.js} +1 -1
  105. package/web/{chunk-4y2td14d.js → chunk-jwzd9tzk.js} +1 -1
  106. package/web/chunk-k5btcvbg.js +1 -0
  107. package/web/{chunk-z1jtv4c0.js → chunk-kdyjnwdx.js} +1 -1
  108. package/web/chunk-kpvgecwy.js +1 -0
  109. package/web/chunk-kq40ss39.js +1 -0
  110. package/web/{chunk-ghxe4gam.js → chunk-p3b9crsa.js} +1 -1
  111. package/web/{chunk-zakv2xdf.js → chunk-pf2ab8p8.js} +1 -1
  112. package/web/{chunk-d4d3mnak.js → chunk-q0p5xqe1.js} +1 -1
  113. package/web/{chunk-5hex8g0y.js → chunk-q5ke7a33.js} +1 -1
  114. package/web/chunk-q7dsnvpf.js +1 -0
  115. package/web/{chunk-vfqe8298.js → chunk-qd8bxxdj.js} +1 -1
  116. package/web/{chunk-3ahpr030.js → chunk-qefasa1j.js} +1 -1
  117. package/web/{chunk-x9q4kh67.js → chunk-qh7265qw.js} +1 -1
  118. package/web/{chunk-hejz98gw.js → chunk-qnaqf0cr.js} +1 -1
  119. package/web/chunk-rg426vkf.js +1 -0
  120. package/web/{chunk-s8vapqgr.js → chunk-rpmpttbk.js} +1 -1
  121. package/web/chunk-scpwc9ev.js +1 -0
  122. package/web/{chunk-b5brnfv9.js → chunk-ss1bcb0n.js} +1 -1
  123. package/web/chunk-ssy07dd2.js +1 -0
  124. package/web/{chunk-gxn0bey7.js → chunk-taynqrgq.js} +2 -2
  125. package/web/chunk-tgpbhzn9.js +1 -0
  126. package/web/{chunk-ejd43q75.js → chunk-tmvakq7n.js} +2 -2
  127. package/web/{chunk-nerx2q12.js → chunk-tqmwd9qp.js} +1 -1
  128. package/web/{chunk-n5fn9khr.js → chunk-v28fx2nd.js} +1 -1
  129. package/web/{chunk-32ezm0ry.js → chunk-vt40e1kp.js} +39 -39
  130. package/web/chunk-w53rba6g.js +1 -0
  131. package/web/chunk-w86n42dy.js +1 -0
  132. package/web/{chunk-ktqt87qw.js → chunk-w880psmw.js} +1 -1
  133. package/web/{chunk-p8y0hjx9.js → chunk-wptv8atc.js} +1 -1
  134. package/web/{chunk-g9qv15hq.js → chunk-xbty0rv7.js} +1 -1
  135. package/web/{chunk-7f0m2yrd.js → chunk-xjxv8dg8.js} +1 -1
  136. package/web/{chunk-x3zwjkwg.js → chunk-xrxne80b.js} +1 -1
  137. package/web/{chunk-jtwhjp20.js → chunk-y0m8hrwz.js} +2 -2
  138. package/web/{chunk-6atq9qtt.js → chunk-y49fhfda.js} +1 -1
  139. package/web/{chunk-1x8fn8w9.js → chunk-yd46jhqv.js} +1 -1
  140. package/web/{chunk-ngpq43vn.js → chunk-z7dcbxws.js} +1 -1
  141. package/web/chunk-zde7mj43.js +1 -0
  142. package/web/index.html +1 -1
  143. package/worker.js +1 -1
  144. package/chunk-1fv27j4b.js +0 -3
  145. package/chunk-356q8e0y.js +0 -10
  146. package/chunk-b9bg5fhd.js +0 -2
  147. package/chunk-j2x0g1vg.js +0 -2
  148. package/chunk-k0t23cmx.js +0 -2
  149. package/chunk-m38ber71.js +0 -2
  150. package/chunk-rad3dm0q.js +0 -2
  151. package/chunk-tjpvayr1.js +0 -2
  152. package/chunk-ve7qx8wm.js +0 -3
  153. package/chunk-yb1jxgnk.js +0 -2
  154. package/web/chunk-00mq7bhx.js +0 -1
  155. package/web/chunk-0atfn8jf.js +0 -1
  156. package/web/chunk-310yey4q.js +0 -1
  157. package/web/chunk-3hvgs5aw.js +0 -1
  158. package/web/chunk-3kh6zefg.js +0 -1
  159. package/web/chunk-401v5ht6.js +0 -8
  160. package/web/chunk-5r5kv4gh.js +0 -1
  161. package/web/chunk-95q1bwxn.js +0 -1
  162. package/web/chunk-9s7c178f.js +0 -1
  163. package/web/chunk-benmmqt2.js +0 -1
  164. package/web/chunk-bgqdcnke.js +0 -1
  165. package/web/chunk-eqegxtdt.js +0 -1
  166. package/web/chunk-gmfp7fg4.js +0 -1
  167. package/web/chunk-gxay64d5.js +0 -1
  168. package/web/chunk-jg6nzn6q.js +0 -1
  169. package/web/chunk-kx2xk3bb.js +0 -1
  170. package/web/chunk-vfqdy860.js +0 -1
  171. package/web/chunk-x59p8sg2.js +0 -1
  172. package/web/chunk-y7z144e3.js +0 -1
  173. package/web/chunk-ydgqrfvw.js +0 -2
  174. package/web/chunk-yj1a2d37.js +0 -1
package/cli.js ADDED
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env node
2
+ import { spawn, spawnSync } from "node:child_process";
3
+ import { chmodSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
4
+ import { homedir } from "node:os";
5
+ import { delimiter, dirname, join, resolve } from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+ import { gunzipSync } from "node:zlib";
8
+
9
+ const dir = dirname(fileURLToPath(import.meta.url));
10
+ const entry = join(dir, "compiled.js");
11
+
12
+ if (typeof globalThis.Bun !== "undefined") {
13
+ await import("./compiled.js");
14
+ } else {
15
+ const isWin = process.platform === "win32";
16
+ const exeName = isWin ? "bun.exe" : "bun";
17
+ const bunVersion = "1.4.3";
18
+
19
+ function findExistingBun() {
20
+ const candidates = [
21
+ process.env.BASALT_BUN_PATH,
22
+ join(homedir(), ".bun", "bin", exeName),
23
+ resolve(dir, "..", "..", "bun", "bin", exeName),
24
+ resolve(dir, "..", "bun", "bin", exeName),
25
+ join(homedir(), ".basalt", "runtime", `bun-${bunVersion}`, exeName),
26
+ ];
27
+ for (const item of (process.env.PATH ?? "").split(delimiter)) {
28
+ if (!item) continue;
29
+ candidates.push(join(item, exeName));
30
+ candidates.push(join(item, "node_modules", "bun", "bin", exeName));
31
+ }
32
+ for (const candidate of candidates) {
33
+ if (!candidate || !existsSync(candidate)) continue;
34
+ const check = spawnSync(candidate, ["--version"], { stdio: "ignore" });
35
+ if (check.status === 0) return candidate;
36
+ }
37
+ return undefined;
38
+ }
39
+
40
+ async function ensureBun() {
41
+ const found = findExistingBun();
42
+ if (found) return found;
43
+ const platformKey = `${process.platform}-${process.arch}`;
44
+ const pkgMap = {
45
+ "win32-x64": "bun-windows-x64",
46
+ "win32-arm64": "bun-windows-aarch64",
47
+ "darwin-arm64": "bun-darwin-aarch64",
48
+ "darwin-x64": "bun-darwin-x64",
49
+ "linux-x64": "bun-linux-x64",
50
+ "linux-arm64": "bun-linux-aarch64",
51
+ };
52
+ const pkgName = pkgMap[platformKey];
53
+ if (!pkgName) {
54
+ console.error(`未检测到 Bun 运行时,请先安装 Bun: https://bun.sh (当前平台: ${platformKey})`);
55
+ process.exit(1);
56
+ }
57
+ const runtimeDir = join(homedir(), ".basalt", "runtime", `bun-${bunVersion}`);
58
+ const targetExe = join(runtimeDir, exeName);
59
+ console.error(`首次运行正在下载 Bun ${bunVersion} 运行时 (${pkgName})...`);
60
+ const url = `https://registry.npmjs.org/@oven/${pkgName}/-/${pkgName}-${bunVersion}.tgz`;
61
+ const res = await fetch(url);
62
+ if (!res.ok) throw new Error(`下载 Bun 失败 (${res.status}): ${url}`);
63
+ const tar = gunzipSync(Buffer.from(await res.arrayBuffer()));
64
+ let offset = 0;
65
+ while (offset + 512 <= tar.length) {
66
+ const name = tar.subarray(offset, offset + 100).toString("utf8").replace(/\0.*$/, "");
67
+ const sizeText = tar.subarray(offset + 124, offset + 136).toString("utf8").replace(/\0.*$/, "").trim();
68
+ const size = Number.parseInt(sizeText, 8);
69
+ offset += 512;
70
+ if (!Number.isNaN(size) && size > 0) {
71
+ if (name.endsWith(`/${exeName}`)) {
72
+ mkdirSync(runtimeDir, { recursive: true });
73
+ writeFileSync(targetExe, tar.subarray(offset, offset + size));
74
+ if (!isWin) chmodSync(targetExe, 0o755);
75
+ return targetExe;
76
+ }
77
+ offset += (size + 511) & ~511;
78
+ }
79
+ }
80
+ throw new Error("解压 Bun 运行时失败");
81
+ }
82
+
83
+ const bunExe = await ensureBun();
84
+ const child = spawn(bunExe, [entry, ...process.argv.slice(2)], { stdio: "inherit" });
85
+ child.on("exit", (code, signal) => {
86
+ if (signal) process.kill(process.pid, signal);
87
+ process.exit(code ?? 0);
88
+ });
89
+ }