@zappdev/cli 0.1.1 → 0.3.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.
- package/README.md +24 -21
- package/dist/zapp-cli.js +38 -3
- package/native/src/app/app.zc +30 -7
- package/native/src/cli/node_modules/@esbuild/darwin-arm64/README.md +3 -0
- package/native/src/cli/node_modules/@esbuild/darwin-arm64/bin/esbuild +0 -0
- package/native/src/cli/node_modules/@esbuild/darwin-arm64/package.json +20 -0
- package/native/src/cli/node_modules/@types/bun/LICENSE +21 -0
- package/native/src/cli/node_modules/@types/bun/README.md +20 -0
- package/native/src/cli/node_modules/@types/bun/index.d.ts +1 -0
- package/native/src/cli/node_modules/@types/bun/package.json +53 -0
- package/native/src/cli/node_modules/@types/node/LICENSE +21 -0
- package/native/src/cli/node_modules/@types/node/README.md +15 -0
- package/native/src/cli/node_modules/@types/node/assert/strict.d.ts +111 -0
- package/native/src/cli/node_modules/@types/node/assert.d.ts +1078 -0
- package/native/src/cli/node_modules/@types/node/async_hooks.d.ts +603 -0
- package/native/src/cli/node_modules/@types/node/buffer.buffer.d.ts +472 -0
- package/native/src/cli/node_modules/@types/node/buffer.d.ts +1934 -0
- package/native/src/cli/node_modules/@types/node/child_process.d.ts +1476 -0
- package/native/src/cli/node_modules/@types/node/cluster.d.ts +578 -0
- package/native/src/cli/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
- package/native/src/cli/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/native/src/cli/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/native/src/cli/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
- package/native/src/cli/node_modules/@types/node/console.d.ts +452 -0
- package/native/src/cli/node_modules/@types/node/constants.d.ts +21 -0
- package/native/src/cli/node_modules/@types/node/crypto.d.ts +4545 -0
- package/native/src/cli/node_modules/@types/node/dgram.d.ts +600 -0
- package/native/src/cli/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
- package/native/src/cli/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/native/src/cli/node_modules/@types/node/dns.d.ts +923 -0
- package/native/src/cli/node_modules/@types/node/domain.d.ts +170 -0
- package/native/src/cli/node_modules/@types/node/events.d.ts +976 -0
- package/native/src/cli/node_modules/@types/node/fs/promises.d.ts +1295 -0
- package/native/src/cli/node_modules/@types/node/fs.d.ts +4461 -0
- package/native/src/cli/node_modules/@types/node/globals.d.ts +172 -0
- package/native/src/cli/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/native/src/cli/node_modules/@types/node/http.d.ts +2089 -0
- package/native/src/cli/node_modules/@types/node/http2.d.ts +2644 -0
- package/native/src/cli/node_modules/@types/node/https.d.ts +579 -0
- package/native/src/cli/node_modules/@types/node/index.d.ts +97 -0
- package/native/src/cli/node_modules/@types/node/inspector.d.ts +253 -0
- package/native/src/cli/node_modules/@types/node/inspector.generated.d.ts +4052 -0
- package/native/src/cli/node_modules/@types/node/module.d.ts +891 -0
- package/native/src/cli/node_modules/@types/node/net.d.ts +1057 -0
- package/native/src/cli/node_modules/@types/node/os.d.ts +506 -0
- package/native/src/cli/node_modules/@types/node/package.json +145 -0
- package/native/src/cli/node_modules/@types/node/path.d.ts +200 -0
- package/native/src/cli/node_modules/@types/node/perf_hooks.d.ts +968 -0
- package/native/src/cli/node_modules/@types/node/process.d.ts +2084 -0
- package/native/src/cli/node_modules/@types/node/punycode.d.ts +117 -0
- package/native/src/cli/node_modules/@types/node/querystring.d.ts +152 -0
- package/native/src/cli/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/native/src/cli/node_modules/@types/node/readline.d.ts +594 -0
- package/native/src/cli/node_modules/@types/node/repl.d.ts +428 -0
- package/native/src/cli/node_modules/@types/node/sea.d.ts +153 -0
- package/native/src/cli/node_modules/@types/node/sqlite.d.ts +721 -0
- package/native/src/cli/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/native/src/cli/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/native/src/cli/node_modules/@types/node/stream/web.d.ts +622 -0
- package/native/src/cli/node_modules/@types/node/stream.d.ts +1664 -0
- package/native/src/cli/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/native/src/cli/node_modules/@types/node/test.d.ts +2163 -0
- package/native/src/cli/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/native/src/cli/node_modules/@types/node/timers.d.ts +287 -0
- package/native/src/cli/node_modules/@types/node/tls.d.ts +1319 -0
- package/native/src/cli/node_modules/@types/node/trace_events.d.ts +197 -0
- package/native/src/cli/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/native/src/cli/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/native/src/cli/node_modules/@types/node/ts5.6/index.d.ts +97 -0
- package/native/src/cli/node_modules/@types/node/tty.d.ts +208 -0
- package/native/src/cli/node_modules/@types/node/url.d.ts +984 -0
- package/native/src/cli/node_modules/@types/node/util.d.ts +2606 -0
- package/native/src/cli/node_modules/@types/node/v8.d.ts +920 -0
- package/native/src/cli/node_modules/@types/node/vm.d.ts +1000 -0
- package/native/src/cli/node_modules/@types/node/wasi.d.ts +181 -0
- package/native/src/cli/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/native/src/cli/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/native/src/cli/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/native/src/cli/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
- package/native/src/cli/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
- package/native/src/cli/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/native/src/cli/node_modules/@types/node/worker_threads.d.ts +784 -0
- package/native/src/cli/node_modules/@types/node/zlib.d.ts +747 -0
- package/native/src/cli/node_modules/bun-types/CLAUDE.md +105 -0
- package/native/src/cli/node_modules/bun-types/README.md +33 -0
- package/native/src/cli/node_modules/bun-types/bun.d.ts +8481 -0
- package/native/src/cli/node_modules/bun-types/bun.ns.d.ts +5 -0
- package/native/src/cli/node_modules/bun-types/bundle.d.ts +74 -0
- package/native/src/cli/node_modules/bun-types/deprecated.d.ts +184 -0
- package/native/src/cli/node_modules/bun-types/devserver.d.ts +187 -0
- package/native/src/cli/node_modules/bun-types/docs/README.md +28 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/bytecode.mdx +447 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/css.mdx +1024 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/esbuild.mdx +304 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/executables.mdx +1318 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/fullstack.mdx +1086 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/hot-reloading.mdx +229 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/html-static.mdx +498 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/index.mdx +1840 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/loaders.mdx +451 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/macros.mdx +328 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/minifier.mdx +1286 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/plugins.mdx +477 -0
- package/native/src/cli/node_modules/bun-types/docs/bundler/standalone-html.mdx +314 -0
- package/native/src/cli/node_modules/bun-types/docs/feedback.mdx +75 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +27 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +204 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +161 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +194 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/railway.mdx +145 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/render.mdx +82 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/deployment/vercel.mdx +97 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +82 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +80 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +151 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +195 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +31 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/express.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +261 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +47 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +92 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +103 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +96 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +55 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +164 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +114 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/react.mdx +52 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +97 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +54 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +62 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +54 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +138 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +114 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +791 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +87 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +77 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +71 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/cluster.mdx +69 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +35 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/fetch.mdx +26 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/file-uploads.mdx +97 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/hot.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/proxy.mdx +50 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/server.mdx +48 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/simple.mdx +20 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/stream-file.mdx +50 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/http/tls.mdx +32 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/index.mdx +10 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add-dev.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add-git.mdx +40 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add-optional.mdx +27 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add-peer.mdx +45 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add-tarball.mdx +35 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/add.mdx +44 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +76 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/cicd.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/custom-registry.mdx +32 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/npm-alias.mdx +25 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/registry-scope.mdx +40 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/trusted.mdx +52 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/workspaces.mdx +70 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/install/yarnlock.mdx +51 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/argv.mdx +66 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/ipc.mdx +69 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +15 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/os-signals.mdx +31 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +34 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/spawn.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/process/stdin.mdx +62 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +30 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/buffer.mdx +21 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/exists.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/json.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/mime.mdx +22 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/stream.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/string.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +23 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/read-file/watch.mdx +66 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +295 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/cicd.mdx +45 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +149 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +39 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +21 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/import-html.mdx +15 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/import-json.mdx +46 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/import-json5.mdx +74 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +32 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +104 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/read-env.mdx +37 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/set-env.mdx +51 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/shell.mdx +42 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/timezone.mdx +38 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +31 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/typescript.mdx +51 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +47 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +103 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +13 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +14 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +14 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-array.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-blob.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-json.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-string.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/bail.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +146 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +67 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/coverage.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/happy-dom.mdx +73 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +125 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/mock-clock.mdx +50 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/mock-functions.mdx +70 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/rerun-each.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/run-tests.mdx +116 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/skip-tests.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/snapshot.mdx +102 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/spy-on.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/svelte-test.mdx +113 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/testing-library.mdx +93 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/timeout.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/todo-tests.mdx +74 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/test/watch-mode.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/base64.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/deep-equals.mdx +41 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/deflate.mdx +20 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/detect-bun.mdx +28 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/entrypoint.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/escape-html.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/gzip.mdx +20 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +56 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +15 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +15 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +15 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +25 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/main.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/sleep.mdx +24 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/upgrade.mdx +93 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/version.mdx +23 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/websocket/compression.mdx +33 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/websocket/context.mdx +79 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +43 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/websocket/simple.mdx +38 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/append.mdx +54 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/basic.mdx +46 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/blob.mdx +30 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/cat.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/filesink.mdx +54 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/response.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/stdout.mdx +23 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/stream.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/guides/write-file/unlink.mdx +18 -0
- package/native/src/cli/node_modules/bun-types/docs/index.mdx +133 -0
- package/native/src/cli/node_modules/bun-types/docs/installation.mdx +372 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/bunx.mdx +91 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/catalogs.mdx +292 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/add.mdx +179 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/audit.mdx +60 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/info.mdx +70 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/install.mdx +591 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/link.mdx +61 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/outdated.mdx +197 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/patch.mdx +69 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/pm.mdx +323 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/publish.mdx +131 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/remove.mdx +16 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/update.mdx +140 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/cli/why.mdx +84 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/filter.mdx +127 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/global-cache.mdx +72 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/isolated-installs.mdx +220 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/lifecycle.mdx +64 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/lockfile.mdx +64 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/npmrc.mdx +245 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/overrides.mdx +83 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/scopes-registries.mdx +35 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/security-scanner-api.mdx +95 -0
- package/native/src/cli/node_modules/bun-types/docs/pm/workspaces.mdx +115 -0
- package/native/src/cli/node_modules/bun-types/docs/project/benchmarking.mdx +296 -0
- package/native/src/cli/node_modules/bun-types/docs/project/bindgen.mdx +223 -0
- package/native/src/cli/node_modules/bun-types/docs/project/building-windows.mdx +143 -0
- package/native/src/cli/node_modules/bun-types/docs/project/contributing.mdx +366 -0
- package/native/src/cli/node_modules/bun-types/docs/project/feedback.mdx +20 -0
- package/native/src/cli/node_modules/bun-types/docs/project/license.mdx +78 -0
- package/native/src/cli/node_modules/bun-types/docs/project/roadmap.mdx +8 -0
- package/native/src/cli/node_modules/bun-types/docs/quickstart.mdx +251 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/archive.mdx +452 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/auto-install.mdx +97 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/binary-data.mdx +846 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/bun-apis.mdx +59 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/bunfig.mdx +754 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/c-compiler.mdx +204 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/child-process.mdx +659 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/color.mdx +267 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/console.mdx +67 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/cookies.mdx +454 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/debugger.mdx +335 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/environment-variables.mdx +231 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/ffi.mdx +567 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/file-io.mdx +306 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/file-system-router.mdx +118 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/file-types.mdx +482 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/glob.mdx +181 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/globals.mdx +72 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/hashing.mdx +315 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/html-rewriter.mdx +333 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/cookies.mdx +79 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/error-handling.mdx +40 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/metrics.mdx +36 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/routing.mdx +289 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/server.mdx +645 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/tls.mdx +101 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/http/websockets.mdx +414 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/index.mdx +223 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/json5.mdx +271 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/jsonl.mdx +188 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/jsx.mdx +115 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/markdown.mdx +344 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/module-resolution.mdx +374 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/networking/dns.mdx +111 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/networking/fetch.mdx +484 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/networking/tcp.mdx +239 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/networking/udp.mdx +180 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/node-api.mdx +19 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +468 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/plugins.mdx +419 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/redis.mdx +583 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/repl.mdx +176 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/s3.mdx +881 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/secrets.mdx +340 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/semver.mdx +57 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/shell.mdx +637 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/sql.mdx +1404 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/sqlite.mdx +721 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/streams.mdx +232 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/templating/create.mdx +269 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/templating/init.mdx +58 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/transpiler.mdx +288 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/typescript.mdx +58 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/utils.mdx +1010 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/watch-mode.mdx +161 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/web-apis.mdx +29 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/workers.mdx +314 -0
- package/native/src/cli/node_modules/bun-types/docs/runtime/yaml.mdx +469 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/add.mdx +166 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/build.mdx +197 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/bunx.mdx +49 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/feedback.mdx +17 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/init.mdx +84 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/install.mdx +173 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/link.mdx +163 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/outdated.mdx +140 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/patch.mdx +171 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/publish.mdx +198 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/remove.mdx +146 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/run.mdx +305 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/test.mdx +105 -0
- package/native/src/cli/node_modules/bun-types/docs/snippets/cli/update.mdx +144 -0
- package/native/src/cli/node_modules/bun-types/docs/test/code-coverage.mdx +409 -0
- package/native/src/cli/node_modules/bun-types/docs/test/configuration.mdx +520 -0
- package/native/src/cli/node_modules/bun-types/docs/test/dates-times.mdx +129 -0
- package/native/src/cli/node_modules/bun-types/docs/test/discovery.mdx +90 -0
- package/native/src/cli/node_modules/bun-types/docs/test/dom.mdx +226 -0
- package/native/src/cli/node_modules/bun-types/docs/test/index.mdx +409 -0
- package/native/src/cli/node_modules/bun-types/docs/test/lifecycle.mdx +366 -0
- package/native/src/cli/node_modules/bun-types/docs/test/mocks.mdx +637 -0
- package/native/src/cli/node_modules/bun-types/docs/test/reporters.mdx +126 -0
- package/native/src/cli/node_modules/bun-types/docs/test/runtime-behavior.mdx +342 -0
- package/native/src/cli/node_modules/bun-types/docs/test/snapshots.mdx +434 -0
- package/native/src/cli/node_modules/bun-types/docs/test/writing-tests.mdx +672 -0
- package/native/src/cli/node_modules/bun-types/docs/typescript.mdx +54 -0
- package/native/src/cli/node_modules/bun-types/extensions.d.ts +40 -0
- package/native/src/cli/node_modules/bun-types/fetch.d.ts +79 -0
- package/native/src/cli/node_modules/bun-types/ffi.d.ts +1154 -0
- package/native/src/cli/node_modules/bun-types/globals.d.ts +2067 -0
- package/native/src/cli/node_modules/bun-types/html-rewriter.d.ts +186 -0
- package/native/src/cli/node_modules/bun-types/index.d.ts +32 -0
- package/native/src/cli/node_modules/bun-types/jsc.d.ts +233 -0
- package/native/src/cli/node_modules/bun-types/jsx.d.ts +11 -0
- package/native/src/cli/node_modules/bun-types/overrides.d.ts +376 -0
- package/native/src/cli/node_modules/bun-types/package.json +37 -0
- package/native/src/cli/node_modules/bun-types/redis.d.ts +3352 -0
- package/native/src/cli/node_modules/bun-types/s3.d.ts +1335 -0
- package/native/src/cli/node_modules/bun-types/security.d.ts +101 -0
- package/native/src/cli/node_modules/bun-types/serve.d.ts +1296 -0
- package/native/src/cli/node_modules/bun-types/shell.d.ts +380 -0
- package/native/src/cli/node_modules/bun-types/sql.d.ts +887 -0
- package/native/src/cli/node_modules/bun-types/sqlite.d.ts +1322 -0
- package/native/src/cli/node_modules/bun-types/test-globals.d.ts +22 -0
- package/native/src/cli/node_modules/bun-types/test.d.ts +2392 -0
- package/native/src/cli/node_modules/bun-types/vendor/expect-type/branding.d.ts +283 -0
- package/native/src/cli/node_modules/bun-types/vendor/expect-type/index.d.ts +1207 -0
- package/native/src/cli/node_modules/bun-types/vendor/expect-type/messages.d.ts +395 -0
- package/native/src/cli/node_modules/bun-types/vendor/expect-type/overloads.d.ts +669 -0
- package/native/src/cli/node_modules/bun-types/vendor/expect-type/utils.d.ts +431 -0
- package/native/src/cli/node_modules/bun-types/wasm.d.ts +193 -0
- package/native/src/cli/node_modules/esbuild/LICENSE.md +21 -0
- package/native/src/cli/node_modules/esbuild/README.md +3 -0
- package/native/src/cli/node_modules/esbuild/bin/esbuild +223 -0
- package/native/src/cli/node_modules/esbuild/install.js +289 -0
- package/native/src/cli/node_modules/esbuild/lib/main.d.ts +716 -0
- package/native/src/cli/node_modules/esbuild/lib/main.js +2532 -0
- package/native/src/cli/node_modules/esbuild/package.json +49 -0
- package/native/src/cli/node_modules/typescript/LICENSE.txt +55 -0
- package/native/src/cli/node_modules/typescript/README.md +50 -0
- package/native/src/cli/node_modules/typescript/SECURITY.md +41 -0
- package/native/src/cli/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
- package/native/src/cli/node_modules/typescript/bin/tsc +2 -0
- package/native/src/cli/node_modules/typescript/bin/tsserver +2 -0
- package/native/src/cli/node_modules/typescript/lib/_tsc.js +133818 -0
- package/native/src/cli/node_modules/typescript/lib/_tsserver.js +659 -0
- package/native/src/cli/node_modules/typescript/lib/_typingsInstaller.js +222 -0
- package/native/src/cli/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/lib.d.ts +22 -0
- package/native/src/cli/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
- package/native/src/cli/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
- package/native/src/cli/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
- package/native/src/cli/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
- package/native/src/cli/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
- package/native/src/cli/node_modules/typescript/lib/lib.es6.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
- package/native/src/cli/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
- package/native/src/cli/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
- package/native/src/cli/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
- package/native/src/cli/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
- package/native/src/cli/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
- package/native/src/cli/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
- package/native/src/cli/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/tsc.js +8 -0
- package/native/src/cli/node_modules/typescript/lib/tsserver.js +8 -0
- package/native/src/cli/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
- package/native/src/cli/node_modules/typescript/lib/tsserverlibrary.js +21 -0
- package/native/src/cli/node_modules/typescript/lib/typesMap.json +497 -0
- package/native/src/cli/node_modules/typescript/lib/typescript.d.ts +11437 -0
- package/native/src/cli/node_modules/typescript/lib/typescript.js +200276 -0
- package/native/src/cli/node_modules/typescript/lib/typingsInstaller.js +8 -0
- package/native/src/cli/node_modules/typescript/lib/watchGuard.js +53 -0
- package/native/src/cli/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
- package/native/src/cli/node_modules/typescript/package.json +120 -0
- package/native/src/cli/node_modules/undici-types/LICENSE +21 -0
- package/native/src/cli/node_modules/undici-types/README.md +6 -0
- package/native/src/cli/node_modules/undici-types/agent.d.ts +31 -0
- package/native/src/cli/node_modules/undici-types/api.d.ts +43 -0
- package/native/src/cli/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/native/src/cli/node_modules/undici-types/cache.d.ts +36 -0
- package/native/src/cli/node_modules/undici-types/client.d.ts +108 -0
- package/native/src/cli/node_modules/undici-types/connector.d.ts +34 -0
- package/native/src/cli/node_modules/undici-types/content-type.d.ts +21 -0
- package/native/src/cli/node_modules/undici-types/cookies.d.ts +28 -0
- package/native/src/cli/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- package/native/src/cli/node_modules/undici-types/dispatcher.d.ts +256 -0
- package/native/src/cli/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- package/native/src/cli/node_modules/undici-types/errors.d.ts +149 -0
- package/native/src/cli/node_modules/undici-types/eventsource.d.ts +61 -0
- package/native/src/cli/node_modules/undici-types/fetch.d.ts +209 -0
- package/native/src/cli/node_modules/undici-types/file.d.ts +39 -0
- package/native/src/cli/node_modules/undici-types/filereader.d.ts +54 -0
- package/native/src/cli/node_modules/undici-types/formdata.d.ts +108 -0
- package/native/src/cli/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/native/src/cli/node_modules/undici-types/global-origin.d.ts +7 -0
- package/native/src/cli/node_modules/undici-types/handlers.d.ts +15 -0
- package/native/src/cli/node_modules/undici-types/header.d.ts +4 -0
- package/native/src/cli/node_modules/undici-types/index.d.ts +71 -0
- package/native/src/cli/node_modules/undici-types/interceptors.d.ts +17 -0
- package/native/src/cli/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/native/src/cli/node_modules/undici-types/mock-client.d.ts +25 -0
- package/native/src/cli/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/native/src/cli/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/native/src/cli/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/native/src/cli/node_modules/undici-types/package.json +55 -0
- package/native/src/cli/node_modules/undici-types/patch.d.ts +33 -0
- package/native/src/cli/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/native/src/cli/node_modules/undici-types/pool.d.ts +39 -0
- package/native/src/cli/node_modules/undici-types/proxy-agent.d.ts +28 -0
- package/native/src/cli/node_modules/undici-types/readable.d.ts +65 -0
- package/native/src/cli/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/native/src/cli/node_modules/undici-types/retry-handler.d.ts +116 -0
- package/native/src/cli/node_modules/undici-types/util.d.ts +18 -0
- package/native/src/cli/node_modules/undici-types/webidl.d.ts +228 -0
- package/native/src/cli/node_modules/undici-types/websocket.d.ts +150 -0
- package/native/src/platform/darwin/backend_bootstrap.zc +1 -1
- package/native/src/platform/darwin/bootstrap.zc +1 -1
- package/native/src/platform/darwin/platform.zc +22 -0
- package/native/src/platform/darwin/webview.zc +158 -3
- package/native/src/platform/darwin/webview_bootstrap.zc +2 -2
- package/native/src/platform/darwin/window.zc +264 -0
- package/native/src/platform/windows/backend_bootstrap.zc +1 -1
- package/native/src/platform/windows/bootstrap.zc +1 -1
- package/native/src/platform/windows/platform.zc +27 -1
- package/native/src/platform/windows/webview.zc +444 -2
- package/native/src/platform/windows/webview_bootstrap.zc +2 -2
- package/native/src/platform/windows/window.zc +31 -0
- package/native/vendor/quickjs-ng/README.md +24 -0
- package/native/vendor/quickjs-ng/docs/.nvmrc +1 -0
- package/native/vendor/quickjs-ng/docs/babel.config.js +3 -0
- package/native/vendor/quickjs-ng/docs/docs/building.md +63 -0
- package/native/vendor/quickjs-ng/docs/docs/cli.md +130 -0
- package/native/vendor/quickjs-ng/docs/docs/developer-guide/_category_.json +7 -0
- package/native/vendor/quickjs-ng/docs/docs/developer-guide/api.md +3 -0
- package/native/vendor/quickjs-ng/docs/docs/developer-guide/internals.md +117 -0
- package/native/vendor/quickjs-ng/docs/docs/developer-guide/intro.md +113 -0
- package/native/vendor/quickjs-ng/docs/docs/diff.md +68 -0
- package/native/vendor/quickjs-ng/docs/docs/es_features.md +11 -0
- package/native/vendor/quickjs-ng/docs/docs/installation.md +34 -0
- package/native/vendor/quickjs-ng/docs/docs/intro.md +33 -0
- package/native/vendor/quickjs-ng/docs/docs/projects.md +67 -0
- package/native/vendor/quickjs-ng/docs/docs/stdlib.md +605 -0
- package/native/vendor/quickjs-ng/docs/docs/supported_platforms.md +20 -0
- package/native/vendor/quickjs-ng/docs/docusaurus.config.js +114 -0
- package/native/vendor/quickjs-ng/docs/package-lock.json +14656 -0
- package/native/vendor/quickjs-ng/docs/package.json +42 -0
- package/native/vendor/quickjs-ng/docs/sidebars.js +20 -0
- package/native/vendor/quickjs-ng/docs/src/css/custom.css +30 -0
- package/native/vendor/quickjs-ng/docs/static/.nojekyll +0 -0
- package/native/vendor/quickjs-ng/docs/static/img/favicon.ico +0 -0
- package/native/vendor/quickjs-ng/test262-fast.conf +132 -0
- package/native/vendor/quickjs-ng/test262.conf +416 -0
- package/native/vendor/quickjs-ng/test262_errors.txt +93 -0
- package/package.json +1 -1
- package/src/build-config.ts +6 -0
- package/src/build.ts +2 -1
- package/src/config.ts +9 -0
- package/src/package.ts +20 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// AUTO-GENERATED FILE. DO NOT EDIT.
|
|
2
2
|
// Source of truth: `packages/bootstrap/src/webview.ts`
|
|
3
|
-
// Generated: `2026-03-
|
|
3
|
+
// Generated: `2026-03-23T03:23:37.945Z`
|
|
4
4
|
|
|
5
5
|
raw {
|
|
6
6
|
const char* zapp_darwin_webview_bootstrap_script(void) {
|
|
7
|
-
return "(()=>{var{defineProperty:_,getOwnPropertyNames:o,getOwnPropertyDescriptor:s}=Object,d=Object.prototype.hasOwnProperty;var S=new WeakMap,n=(H)=>{var Q=S.get(H),$;if(Q)return Q;if(Q=_({},\"__esModule\",{value:!0}),H&&typeof H===\"object\"||typeof H===\"function\")o(H).map((K)=>!d.call(Q,K)&&_(Q,K,{get:()=>H[K],enumerable:!($=s(H,K))||$.enumerable}));return S.set(H,Q),Q};var GH={},L=globalThis,h=L.__zapp,W=h&&typeof h===\"object\"?h:{},v=()=>{if(L.__zapp===W)return;L.__zapp=W;try{Object.defineProperty(L,\"__zapp\",{value:W,enumerable:!0,configurable:!1,writable:!1})}catch{}},k=Symbol.for(\"zapp.bridge\"),M=Symbol.for(\"zapp.bootstrapConfig\"),w=Symbol.for(\"zapp.ownerId\"),x=L,B=(H)=>{let Q=x[k]?\?{},$=Object.assign({},Q,H);Object.defineProperty(x,k,{value:$,enumerable:!1,configurable:!0,writable:!1})},X={},Y={},O=0;B({_listeners:Y,_lastId:O});var D=X.__ctxId?\?=`ctx-${Date.now()}-${Math.random().toString(36).slice(2)}`,R=X.__pendingInvokes=X.__pendingInvokes?\?{},C=X.__pendingSyncWaits=X.__pendingSyncWaits?\?{},I=X.__invokeSeq?\?0,m=1,a=131072,y=x[M]==null?null:{name:x[M].name,applicationShouldTerminateAfterLastWindowClosed:x[M].applicationShouldTerminateAfterLastWindowClosed,webContentInspectable:x[M].webContentInspectable,maxWorkers:x[M].maxWorkers};try{delete x[M]}catch{}var u=(H)=>typeof H===\"string\"?H:JSON.stringify(H?\?{}),A=(H,Q,$)=>{v();let K=L.webkit?.messageHandlers?.zapp;if(!K?.postMessage)return!1;return K.postMessage(`${H}\n${Q}\n${u($)}`),!0};X.invoke=(H,Q)=>new Promise(($,K)=>{let J=typeof H===\"string\"?H.trim():\"\";if(!J){K(Error(\"Service method must be a non-empty string.\"));return}if(u(Q).length>a){K(Error(\"Service payload exceeds max size.\"));return}let G=`${D}:inv-${++I}`;X.__invokeSeq=I;let f={v:m,id:G,method:J,args:Q,meta:{sourceCtxId:D}},F=setTimeout(()=>{delete R[G],K(Error(\"Service invocation timed out.\"))},15000);if(R[G]={resolve:$,reject:K,timeout:F},!A(\"invoke_rpc\",J,f))clearTimeout(F),delete R[G],K(Error(\"Native invoke transport unavailable.\"))});var b=()=>{let H=Error(\"Sync wait aborted.\");return H.name=\"AbortError\",H};X.syncWait=(H,Q=30000,$)=>new Promise((K,J)=>{let V=typeof H===\"string\"?H.trim():\"\";if(!V){J(Error(\"Sync key must be a non-empty string.\"));return}if($?.aborted){J(b());return}let G=`${D}:sync-${Date.now()}-${Math.random().toString(36).slice(2)}`,f=Q==null||Number.isNaN(Number(Q))?null:Math.floor(Number(Q)),F=f==null?null:Math.max(1,Math.min(300000,f)),z={id:G,key:V,timeoutMs:F,meta:{sourceCtxId:D}},Z=F==null?void 0:setTimeout(()=>{delete C[G],J(Error(\"Sync wait transport timed out.\"))},F+5000);if(C[G]={resolve:K,reject:J,timeout:Z},!A(\"sync\",\"wait\",z)){if(Z)clearTimeout(Z);delete C[G],J(Error(\"Native sync transport unavailable.\"));return}if($){let N=()=>{let T=C[G];if(!T)return;if(T.timeout)clearTimeout(T.timeout);delete C[G],A(\"sync\",\"cancel\",{id:G,meta:{sourceCtxId:D}}),J(b())};$.addEventListener(\"abort\",N,{once:!0})}});X.syncNotify=(H,Q=1)=>{let $=typeof H===\"string\"?H.trim():\"\";if(!$)return!1;let K=Math.max(1,Math.min(65535,Math.floor(Q)));return A(\"sync\",\"notify\",{key:$,count:K,meta:{sourceCtxId:D}})};X.syncCancel=(H)=>{let Q=typeof H===\"string\"?H.trim():\"\";if(!Q)return!1;return A(\"sync\",\"cancel\",{id:Q,meta:{sourceCtxId:D}})};X.emit=(H,Q)=>A(\"emit\",H,{__zapp_internal_meta:{sourceCtxId:D},data:Q});X.onEvent=(H,Q)=>{let $=++O;return(Y[H]?\?=[]).push({id:$,fn:Q}),$};X.offEvent=(H,Q)=>{let $=Y[H]?\?[];Y[H]=$.filter((K)=>K.id!==Q)};X.onceEvent=(H,Q)=>{let $=++O;return(Y[H]?\?=[]).push({id:$,fn:Q,once:!0}),$};X.offAllEvents=(H)=>{if(H)delete Y[H];else Object.keys(Y).forEach((Q)=>delete Y[Q])};var t=(H)=>{let Q=H.pathname.split(\".\").pop()?.toLowerCase();if(Q!==\"ts\"&&Q!==\"tsx\")return H.toString();let $=(Z)=>{let U=Z.startsWith(\"/\")?Z:`/${Z}`;if(H.protocol===\"zapp:\")return`zapp://app${U}`;return new URL(U,H).toString()},K=x[Symbol.for(\"zapp.workerManifest\")],J=H.pathname.split(\"/\").pop()?\?\"worker.ts\",V=`./${J}`;if(K){let Z=K[V]?\?K[J];if(typeof Z===\"string\"&&Z.length>0)return $(Z)}let G=H.pathname.split(\"/\"),z=`/zapp-workers/${(G[G.length-1]?\?\"worker.ts\").replace(/\\.[^.]+$/,\"\")}.mjs`;return $(z)},r=(H)=>H instanceof URL?t(H):H;if(!X.workerBridge){let H={},Q=0,$=x[w],K=typeof $===\"string\"&&$.length>0?$:`owner-${Date.now()}-${Math.random().toString(36).slice(2)}`;try{delete x[w]}catch{}let J=[],V=(F)=>{return H[F]?\?={message:[],error:[],close:[]},H[F]},G=(F,z,Z)=>{let U=(E)=>{queueMicrotask(E)};if(F===\"close\"){let E=H[z];U(()=>{if(E)for(let i of E.close)try{i(Z)}catch{}X.workerBridge?.terminateWorker(z)});return}let N=H[z];if(!N)return;let T=Z;if(typeof Z===\"string\")try{T=JSON.parse(Z)}catch{}let j=F===\"error\"?N.error:N.message;U(()=>{for(let E of j)try{E(T)}catch{}})};X.__workerBridgeDispatch=G,B({dispatchWorkerBridge:G}),X.workerBridge={createWorker(F,z){let Z=Boolean(z?.shared),U=`${K}:${D}:zw-${++Q}`;return V(U),J.push(U),A(\"worker\",\"create\",{id:U,scriptUrl:F,ownerId:K,shared:Z}),U},postToWorker(F,z){A(\"worker\",\"post\",{id:F,data:z,ownerId:K})},terminateWorker(F){A(\"worker\",\"terminate\",{id:F,ownerId:K}),J=J.filter((z)=>z!==F),delete H[F]},subscribe(F,z,Z,U){let N=V(F);if(z)N.message.push(z);if(Z)N.error.push(Z);if(U)N.close.push(U);return()=>{let T=H[F];if(!T)return;if(z)T.message=T.message.filter((j)=>j!==z);if(Z)T.error=T.error.filter((j)=>j!==Z);if(U)T.close=T.close.filter((j)=>j!==U)}}};let f=()=>{if(!J.length)return;A(\"worker\",\"reset_owner\",{ownerId:K}),J=[];for(let F of Object.keys(H))delete H[F]};B({resetOwnerWorkers:f,createWorker:X.workerBridge.createWorker.bind(X.workerBridge),postToWorker:X.workerBridge.postToWorker.bind(X.workerBridge),terminateWorker:X.workerBridge.terminateWorker.bind(X.workerBridge),subscribeWorker:X.workerBridge.subscribe.bind(X.workerBridge),resolveWorkerScriptURL:r}),L.addEventListener(\"beforeunload\",f),L.addEventListener(\"pagehide\",f)}var q={},e=0,HH=(H)=>new Promise((Q,$)=>{let K=`${D}:win-${++e}`,J=setTimeout(()=>{delete q[K],$(Error(\"Window creation timed out.\"))},15000);q[K]={resolve:Q,reject:$,timeout:J},A(\"window\",\"create\",{requestId:K,options:H})}),QH=(H,Q,$)=>{A(\"window\",Q,{windowId:H,...$})},$H=(H,Q)=>{A(\"app\",H,Q?\?{})},KH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.requestId!==\"string\")return;let K=q[$.requestId];if(!K)return;if(clearTimeout(K.timeout),delete q[$.requestId],$.ok===!1)K.reject(Error($.error?\?\"Window creation failed.\"));else K.resolve({id:$.id?\?\"\"})},l=(H,Q,$)=>{v();let K={windowId:H,timestamp:Date.now()};if($)try{let V=JSON.parse($);if(V.width||V.height)K.size={width:V.width?\?0,height:V.height?\?0};if(V.x!==void 0||V.y!==void 0)K.position={x:V.x?\?0,y:V.y?\?0}}catch{}let J=(V)=>{let G=Y[V];if(!G||G.length===0)return;let f=[];for(let F of G){try{F.fn(K)}catch{}if(!F.once)f.push(F)}if(f.length>0)Y[V]=f;else delete Y[V]};J(`__zapp_window:${H}:${Q}`),J(`window:${Q}`)};B({windowCreate:HH,windowAction:QH,appAction:$H,dispatchWindowResult:KH,dispatchWindowEvent:l,_emit:X.emit,_onEvent:X.onEvent,_onceEvent:X.onceEvent,_offEvent:X.offEvent,_offAllEvents:X.offAllEvents});W.invoke=X.invoke;W.emit=X.emit;W.on=(H,Q)=>{let $=X.onEvent?.(H,Q)?\?0;return()=>X.offEvent?.(H,$)};var XH=(H,Q)=>{v();let $=Q;if(typeof Q===\"string\"){let V=Q.trim();if(V.startsWith(\"{\")&&V.endsWith(\"}\")||V.startsWith(\"[\")&&V.endsWith(\"]\"))try{$=JSON.parse(Q)}catch{}}if($&&typeof $===\"object\"){let V=$;if(V.__zapp_internal_meta?.sourceCtxId===D)return;if(Object.prototype.hasOwnProperty.call(V,\"data\"))$=V.data}let K=Y[H]?\?[],J=[];for(let V of K){try{V.fn($)}catch{}if(!V.once)J.push(V)}if(J.length>0)Y[H]=J;else delete Y[H]},JH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.id!==\"string\"||$.id.length===0)return;let K=R[$.id];if(!K)return;if(clearTimeout(K.timeout),delete R[$.id],$.ok){K.resolve($.result);return}let J=$.error?.code?\?\"INTERNAL_ERROR\",V=$.error?.message?\?\"Service invocation failed\";K.reject(Error(`${J}: ${V}`))},VH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.id!==\"string\"||$.id.length===0)return;let K=C[$.id];if(!K)return;if(K.timeout)clearTimeout(K.timeout);if(delete C[$.id],!$.ok){K.reject(Error(\"Sync wait failed.\"));return}if($.status===\"cancelled\"){K.reject(b());return}K.resolve($.status===\"timed-out\"?\"timed-out\":\"notified\")},FH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.requestId!==\"string\")return;let K=`__zapp:dialog:${$.requestId}`,J=Y[K];if(J){for(let V of J)try{V.fn($)}catch{}delete Y[K]}};B({dispatchInvokeResult:JH,dispatchSyncResult:VH,dispatchDialogResult:FH,deliverEvent:XH,getConfig:()=>y==null?null:{...y},invoke:async(H)=>{let Q=H;if(!Q||typeof Q!==\"object\")throw Error(\"Invalid invoke request\");if(typeof Q.method!==\"string\")throw Error(\"Invalid service method\");let $=await X.invoke?.(Q.method,Q.args);return{v:m,id:Q.id,ok:!0,result:$}},getServiceBindings:()=>{let H=x[Symbol.for(\"zapp.bindingsManifest\")];if(typeof H!==\"string\")return null;return H},syncWait:async(H)=>{let Q=H;return X.syncWait?.(Q?.key?\?\"\",Q?.timeoutMs===void 0?30000:Q.timeoutMs,Q?.signal)?\?Promise.reject(Error(\"Sync unavailable\"))},syncNotify:(H)=>{let Q=H;return X.syncNotify?.(Q?.key?\?\"\",Q?.count?\?1)?\?!1},syncCancel:(H)=>{let Q=H;return X.syncCancel?.(Q?.id?\?\"\")?\?!1}});Object.defineProperties(W,{invoke:{value:X.invoke,enumerable:!0,configurable:!1,writable:!1},syncWait:{value:X.syncWait,enumerable:!0,configurable:!1,writable:!1},syncNotify:{value:X.syncNotify,enumerable:!0,configurable:!1,writable:!1},syncCancel:{value:X.syncCancel,enumerable:!0,configurable:!1,writable:!1},emit:{value:X.emit,enumerable:!0,configurable:!1,writable:!1},on:{value:W.on,enumerable:!0,configurable:!1,writable:!1}});Object.freeze(W);if(typeof document<\"u\"){let H=()=>{if(!document.head)return;let Q=document.createElement(\"meta\");Q.httpEquiv=\"Content-Security-Policy\",Q.content=\"default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self' https:; img-src 'self' data: blob:;\",document.head.insertBefore(Q,document.head.firstChild)};if(document.head)H();else document.addEventListener(\"DOMContentLoaded\",H,{once:!0})}v();var p=Symbol.for(\"zapp.windowId\"),c=Symbol.for(\"zapp.windowReady\"),P=L,g=()=>{if(P[c])return;P[c]=!0;let H=P[p],Q=L.webkit?.messageHandlers?.zapp;if(Q?.postMessage){let $=JSON.stringify({windowId:H?\?\"unknown\"});Q.postMessage(`window\nready\n${$}`)}l(H?\?\"unknown\",\"ready\")};if(typeof document<\"u\"){if(document.addEventListener(\"DOMContentLoaded\",g,{once:!0}),document.readyState!==\"loading\")g();let H=($)=>{let K=$;while(K){if(K.hasAttribute?.(\"data-zapp-drag-region\"))return!0;let J=K.tagName;if(J===\"BUTTON\"||J===\"INPUT\"||J===\"SELECT\"||J===\"TEXTAREA\"||J===\"A\")return!1;K=K.parentElement}return!1},Q=!1;document.addEventListener(\"mousemove\",($)=>{let K=H($.target);if(K!==Q)Q=K,A(\"window\",\"setDragRegion\",{windowId:P[p]?\?\"unknown\",drag:K})})}})();\n";
|
|
7
|
+
return "(()=>{var{defineProperty:S,getOwnPropertyNames:o,getOwnPropertyDescriptor:s}=Object,d=Object.prototype.hasOwnProperty;var k=new WeakMap,n=(H)=>{var Q=k.get(H),$;if(Q)return Q;if(Q=S({},\"__esModule\",{value:!0}),H&&typeof H===\"object\"||typeof H===\"function\")o(H).map((K)=>!d.call(Q,K)&&S(Q,K,{get:()=>H[K],enumerable:!($=s(H,K))||$.enumerable}));return k.set(H,Q),Q};var GH={},L=globalThis,h=L.__zapp,W=h&&typeof h===\"object\"?h:{},P=()=>{if(L.__zapp===W)return;L.__zapp=W;try{Object.defineProperty(L,\"__zapp\",{value:W,enumerable:!0,configurable:!1,writable:!1})}catch{}},w=Symbol.for(\"zapp.bridge\"),M=Symbol.for(\"zapp.bootstrapConfig\"),I=Symbol.for(\"zapp.ownerId\"),D=L,B=(H)=>{let Q=D[w]?\?{},$=Object.assign({},Q,H);Object.defineProperty(D,w,{value:$,enumerable:!1,configurable:!0,writable:!1})},X={},Y={},_=0;B({_listeners:Y,_lastId:_});var f=X.__ctxId?\?=`ctx-${Date.now()}-${Math.random().toString(36).slice(2)}`,R=X.__pendingInvokes=X.__pendingInvokes?\?{},E=X.__pendingSyncWaits=X.__pendingSyncWaits?\?{},y=X.__invokeSeq?\?0,m=1,a=131072,b=D[M]==null?null:{name:D[M].name,applicationShouldTerminateAfterLastWindowClosed:D[M].applicationShouldTerminateAfterLastWindowClosed,webContentInspectable:D[M].webContentInspectable,maxWorkers:D[M].maxWorkers};try{delete D[M]}catch{}var u=(H)=>typeof H===\"string\"?H:JSON.stringify(H?\?{}),A=(H,Q,$)=>{P();let K=L.webkit?.messageHandlers?.zapp;if(!K?.postMessage)return!1;return K.postMessage(`${H}\n${Q}\n${u($)}`),!0};X.invoke=(H,Q)=>new Promise(($,K)=>{let J=typeof H===\"string\"?H.trim():\"\";if(!J){K(Error(\"Service method must be a non-empty string.\"));return}if(u(Q).length>a){K(Error(\"Service payload exceeds max size.\"));return}let G=`${f}:inv-${++y}`;X.__invokeSeq=y;let x={v:m,id:G,method:J,args:Q,meta:{sourceCtxId:f}},F=setTimeout(()=>{delete R[G],K(Error(\"Service invocation timed out.\"))},15000);if(R[G]={resolve:$,reject:K,timeout:F},!A(\"invoke_rpc\",J,x))clearTimeout(F),delete R[G],K(Error(\"Native invoke transport unavailable.\"))});var O=()=>{let H=Error(\"Sync wait aborted.\");return H.name=\"AbortError\",H};X.syncWait=(H,Q=30000,$)=>new Promise((K,J)=>{let V=typeof H===\"string\"?H.trim():\"\";if(!V){J(Error(\"Sync key must be a non-empty string.\"));return}if($?.aborted){J(O());return}let G=`${f}:sync-${Date.now()}-${Math.random().toString(36).slice(2)}`,x=Q==null||Number.isNaN(Number(Q))?null:Math.floor(Number(Q)),F=x==null?null:Math.max(1,Math.min(300000,x)),z={id:G,key:V,timeoutMs:F,meta:{sourceCtxId:f}},Z=F==null?void 0:setTimeout(()=>{delete E[G],J(Error(\"Sync wait transport timed out.\"))},F+5000);if(E[G]={resolve:K,reject:J,timeout:Z},!A(\"sync\",\"wait\",z)){if(Z)clearTimeout(Z);delete E[G],J(Error(\"Native sync transport unavailable.\"));return}if($){let N=()=>{let T=E[G];if(!T)return;if(T.timeout)clearTimeout(T.timeout);delete E[G],A(\"sync\",\"cancel\",{id:G,meta:{sourceCtxId:f}}),J(O())};$.addEventListener(\"abort\",N,{once:!0})}});X.syncNotify=(H,Q=1)=>{let $=typeof H===\"string\"?H.trim():\"\";if(!$)return!1;let K=Math.max(1,Math.min(65535,Math.floor(Q)));return A(\"sync\",\"notify\",{key:$,count:K,meta:{sourceCtxId:f}})};X.syncCancel=(H)=>{let Q=typeof H===\"string\"?H.trim():\"\";if(!Q)return!1;return A(\"sync\",\"cancel\",{id:Q,meta:{sourceCtxId:f}})};X.emit=(H,Q)=>A(\"emit\",H,{__zapp_internal_meta:{sourceCtxId:f},data:Q});X.onEvent=(H,Q)=>{let $=++_;return(Y[H]?\?=[]).push({id:$,fn:Q}),$};X.offEvent=(H,Q)=>{let $=Y[H]?\?[];Y[H]=$.filter((K)=>K.id!==Q)};X.onceEvent=(H,Q)=>{let $=++_;return(Y[H]?\?=[]).push({id:$,fn:Q,once:!0}),$};X.offAllEvents=(H)=>{if(H)delete Y[H];else Object.keys(Y).forEach((Q)=>delete Y[Q])};var t=(H)=>{let Q=H.pathname.split(\".\").pop()?.toLowerCase();if(Q!==\"ts\"&&Q!==\"tsx\")return H.toString();let $=(Z)=>{let U=Z.startsWith(\"/\")?Z:`/${Z}`;if(H.protocol===\"zapp:\")return`zapp://app${U}`;return new URL(U,H).toString()},K=D[Symbol.for(\"zapp.workerManifest\")],J=H.pathname.split(\"/\").pop()?\?\"worker.ts\",V=`./${J}`;if(K){let Z=K[V]?\?K[J];if(typeof Z===\"string\"&&Z.length>0)return $(Z)}let G=H.pathname.split(\"/\"),z=`/zapp-workers/${(G[G.length-1]?\?\"worker.ts\").replace(/\\.[^.]+$/,\"\")}.mjs`;return $(z)},r=(H)=>H instanceof URL?t(H):H;if(!X.workerBridge){let H={},Q=0,$=D[I],K=typeof $===\"string\"&&$.length>0?$:`owner-${Date.now()}-${Math.random().toString(36).slice(2)}`;try{delete D[I]}catch{}let J=[],V=(F)=>{return H[F]?\?={message:[],error:[],close:[]},H[F]},G=(F,z,Z)=>{let U=(C)=>{queueMicrotask(C)};if(F===\"close\"){let C=H[z];U(()=>{if(C)for(let i of C.close)try{i(Z)}catch{}X.workerBridge?.terminateWorker(z)});return}let N=H[z];if(!N)return;let T=Z;if(typeof Z===\"string\")try{T=JSON.parse(Z)}catch{}let j=F===\"error\"?N.error:N.message;U(()=>{for(let C of j)try{C(T)}catch{}})};X.__workerBridgeDispatch=G,B({dispatchWorkerBridge:G}),X.workerBridge={createWorker(F,z){let Z=Boolean(z?.shared),U=`${K}:${f}:zw-${++Q}`;return V(U),J.push(U),A(\"worker\",\"create\",{id:U,scriptUrl:F,ownerId:K,shared:Z}),U},postToWorker(F,z){A(\"worker\",\"post\",{id:F,data:z,ownerId:K})},terminateWorker(F){A(\"worker\",\"terminate\",{id:F,ownerId:K}),J=J.filter((z)=>z!==F),delete H[F]},subscribe(F,z,Z,U){let N=V(F);if(z)N.message.push(z);if(Z)N.error.push(Z);if(U)N.close.push(U);return()=>{let T=H[F];if(!T)return;if(z)T.message=T.message.filter((j)=>j!==z);if(Z)T.error=T.error.filter((j)=>j!==Z);if(U)T.close=T.close.filter((j)=>j!==U)}}};let x=()=>{if(!J.length)return;A(\"worker\",\"reset_owner\",{ownerId:K}),J=[];for(let F of Object.keys(H))delete H[F]};B({resetOwnerWorkers:x,createWorker:X.workerBridge.createWorker.bind(X.workerBridge),postToWorker:X.workerBridge.postToWorker.bind(X.workerBridge),terminateWorker:X.workerBridge.terminateWorker.bind(X.workerBridge),subscribeWorker:X.workerBridge.subscribe.bind(X.workerBridge),resolveWorkerScriptURL:r}),L.addEventListener(\"beforeunload\",x),L.addEventListener(\"pagehide\",x)}var v={},e=0,HH=(H)=>new Promise((Q,$)=>{let K=`${f}:win-${++e}`,J=setTimeout(()=>{delete v[K],$(Error(\"Window creation timed out.\"))},15000);v[K]={resolve:Q,reject:$,timeout:J},A(\"window\",\"create\",{requestId:K,options:H})}),QH=(H,Q,$)=>{A(\"window\",Q,{windowId:H,...$})},$H=(H,Q)=>{A(\"app\",H,Q?\?{})},KH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.requestId!==\"string\")return;let K=v[$.requestId];if(!K)return;if(clearTimeout(K.timeout),delete v[$.requestId],$.ok===!1)K.reject(Error($.error?\?\"Window creation failed.\"));else K.resolve({id:$.id?\?\"\"})},l=(H,Q,$)=>{P();let K={windowId:H,timestamp:Date.now()};if($)try{let V=JSON.parse($);if(V.width||V.height)K.size={width:V.width?\?0,height:V.height?\?0};if(V.x!==void 0||V.y!==void 0)K.position={x:V.x?\?0,y:V.y?\?0}}catch{}let J=(V)=>{let G=Y[V];if(!G||G.length===0)return;let x=[];for(let F of G){try{F.fn(K)}catch{}if(!F.once)x.push(F)}if(x.length>0)Y[V]=x;else delete Y[V]};J(`__zapp_window:${H}:${Q}`),J(`window:${Q}`)};B({windowCreate:HH,windowAction:QH,appAction:$H,dispatchWindowResult:KH,dispatchWindowEvent:l,_emit:X.emit,_onEvent:X.onEvent,_onceEvent:X.onceEvent,_offEvent:X.offEvent,_offAllEvents:X.offAllEvents});W.invoke=X.invoke;W.emit=X.emit;W.on=(H,Q)=>{let $=X.onEvent?.(H,Q)?\?0;return()=>X.offEvent?.(H,$)};var XH=(H,Q)=>{P();let $=Q;if(typeof Q===\"string\"){let V=Q.trim();if(V.startsWith(\"{\")&&V.endsWith(\"}\")||V.startsWith(\"[\")&&V.endsWith(\"]\"))try{$=JSON.parse(Q)}catch{}}if($&&typeof $===\"object\"){let V=$;if(V.__zapp_internal_meta?.sourceCtxId===f)return;if(Object.prototype.hasOwnProperty.call(V,\"data\"))$=V.data}let K=Y[H]?\?[],J=[];for(let V of K){try{V.fn($)}catch{}if(!V.once)J.push(V)}if(J.length>0)Y[H]=J;else delete Y[H]},JH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.id!==\"string\"||$.id.length===0)return;let K=R[$.id];if(!K)return;if(clearTimeout(K.timeout),delete R[$.id],$.ok){K.resolve($.result);return}let J=$.error?.code?\?\"INTERNAL_ERROR\",V=$.error?.message?\?\"Service invocation failed\";K.reject(Error(`${J}: ${V}`))},VH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.id!==\"string\"||$.id.length===0)return;let K=E[$.id];if(!K)return;if(K.timeout)clearTimeout(K.timeout);if(delete E[$.id],!$.ok){K.reject(Error(\"Sync wait failed.\"));return}if($.status===\"cancelled\"){K.reject(O());return}K.resolve($.status===\"timed-out\"?\"timed-out\":\"notified\")},FH=(H)=>{let Q=H;if(typeof H===\"string\")try{Q=JSON.parse(H)}catch{return}if(!Q||typeof Q!==\"object\")return;let $=Q;if(typeof $.requestId!==\"string\")return;let K=`__zapp:dialog:${$.requestId}`,J=Y[K];if(J){for(let V of J)try{V.fn($)}catch{}delete Y[K]}};B({dispatchInvokeResult:JH,dispatchSyncResult:VH,dispatchDialogResult:FH,deliverEvent:XH,getConfig:()=>b==null?null:{...b},invoke:async(H)=>{let Q=H;if(!Q||typeof Q!==\"object\")throw Error(\"Invalid invoke request\");if(typeof Q.method!==\"string\")throw Error(\"Invalid service method\");let $=await X.invoke?.(Q.method,Q.args);return{v:m,id:Q.id,ok:!0,result:$}},getServiceBindings:()=>{let H=D[Symbol.for(\"zapp.bindingsManifest\")];if(typeof H!==\"string\")return null;return H},syncWait:async(H)=>{let Q=H;return X.syncWait?.(Q?.key?\?\"\",Q?.timeoutMs===void 0?30000:Q.timeoutMs,Q?.signal)?\?Promise.reject(Error(\"Sync unavailable\"))},syncNotify:(H)=>{let Q=H;return X.syncNotify?.(Q?.key?\?\"\",Q?.count?\?1)?\?!1},syncCancel:(H)=>{let Q=H;return X.syncCancel?.(Q?.id?\?\"\")?\?!1}});Object.defineProperties(W,{invoke:{value:X.invoke,enumerable:!0,configurable:!1,writable:!1},syncWait:{value:X.syncWait,enumerable:!0,configurable:!1,writable:!1},syncNotify:{value:X.syncNotify,enumerable:!0,configurable:!1,writable:!1},syncCancel:{value:X.syncCancel,enumerable:!0,configurable:!1,writable:!1},emit:{value:X.emit,enumerable:!0,configurable:!1,writable:!1},on:{value:W.on,enumerable:!0,configurable:!1,writable:!1}});Object.freeze(W);if(typeof document<\"u\"){let H=()=>{if(!document.head)return;let Q=document.createElement(\"meta\");Q.httpEquiv=\"Content-Security-Policy\";let K=b?.csp;Q.content=K||\"default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; img-src 'self' data: blob:;\",document.head.insertBefore(Q,document.head.firstChild)};if(document.head)H();else document.addEventListener(\"DOMContentLoaded\",H,{once:!0})}P();var p=Symbol.for(\"zapp.windowId\"),c=Symbol.for(\"zapp.windowReady\"),q=L,g=()=>{if(q[c])return;q[c]=!0;let H=q[p],Q=L.webkit?.messageHandlers?.zapp;if(Q?.postMessage){let $=JSON.stringify({windowId:H?\?\"unknown\"});Q.postMessage(`window\nready\n${$}`)}l(H?\?\"unknown\",\"ready\")};if(typeof document<\"u\"){if(document.addEventListener(\"DOMContentLoaded\",g,{once:!0}),document.readyState!==\"loading\")g();let H=($)=>{let K=$;while(K){if(K.hasAttribute?.(\"data-zapp-drag-region\"))return!0;let J=K.tagName;if(J===\"BUTTON\"||J===\"INPUT\"||J===\"SELECT\"||J===\"TEXTAREA\"||J===\"A\")return!1;K=K.parentElement}return!1},Q=!1;document.addEventListener(\"mousemove\",($)=>{let K=H($.target);if(K!==Q)Q=K,A(\"window\",\"setDragRegion\",{windowId:q[p]?\?\"unknown\",drag:K})})}})();\n";
|
|
8
8
|
}
|
|
9
9
|
}
|
|
@@ -25,6 +25,7 @@ raw {
|
|
|
25
25
|
#define ZAPP_EVENT_RESULT_CANCEL 1
|
|
26
26
|
#endif
|
|
27
27
|
|
|
28
|
+
static NSMenu* zapp_build_menu_from_json(NSArray* items);
|
|
28
29
|
extern void zapp_darwin_reset_all_workers(void);
|
|
29
30
|
extern void zapp_darwin_reset_owner_workers(const char* owner_id);
|
|
30
31
|
extern void zapp_darwin_webview_create(void* window_ptr, bool inspectable);
|
|
@@ -912,6 +913,32 @@ raw {
|
|
|
912
913
|
NSString* windowId = body[@"windowId"];
|
|
913
914
|
if (![windowId isKindOfClass:[NSString class]] || [windowId length] == 0) return;
|
|
914
915
|
|
|
916
|
+
if ([actionStr isEqualToString:@"showContextMenu"]) {
|
|
917
|
+
NSArray* menuItems = body[@"items"];
|
|
918
|
+
if (![menuItems isKindOfClass:[NSArray class]]) return;
|
|
919
|
+
NSNumber* xVal = body[@"x"];
|
|
920
|
+
NSNumber* yVal = body[@"y"];
|
|
921
|
+
CGFloat cx = [xVal respondsToSelector:@selector(doubleValue)] ? [xVal doubleValue] : 0;
|
|
922
|
+
CGFloat cy = [yVal respondsToSelector:@selector(doubleValue)] ? [yVal doubleValue] : 0;
|
|
923
|
+
void (^work)(void) = ^{
|
|
924
|
+
for (NSWindow* window in [NSApp windows]) {
|
|
925
|
+
NSString* wid = [NSString stringWithFormat:@"win-%p", window];
|
|
926
|
+
if ([wid isEqualToString:windowId]) {
|
|
927
|
+
NSMenu* menu = zapp_build_menu_from_json(menuItems);
|
|
928
|
+
NSView* content = [window contentView];
|
|
929
|
+
// CSS coordinates: origin top-left. NSView: origin bottom-left.
|
|
930
|
+
CGFloat scale = [window backingScaleFactor];
|
|
931
|
+
NSPoint viewLoc = NSMakePoint(cx, cy);
|
|
932
|
+
[menu popUpMenuPositioningItem:nil atLocation:viewLoc inView:content];
|
|
933
|
+
break;
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
};
|
|
937
|
+
if ([NSThread isMainThread]) { work(); }
|
|
938
|
+
else { dispatch_async(dispatch_get_main_queue(), work); }
|
|
939
|
+
return;
|
|
940
|
+
}
|
|
941
|
+
|
|
915
942
|
if ([actionStr isEqualToString:@"setCloseGuard"]) {
|
|
916
943
|
id guardVal = body[@"guard"];
|
|
917
944
|
BOOL guard = [guardVal respondsToSelector:@selector(boolValue)] && [guardVal boolValue];
|
|
@@ -1070,6 +1097,243 @@ raw {
|
|
|
1070
1097
|
}
|
|
1071
1098
|
}
|
|
1072
1099
|
|
|
1100
|
+
// --- Custom Menu Builder ---
|
|
1101
|
+
|
|
1102
|
+
// Handler target for custom menu item clicks
|
|
1103
|
+
@interface ZappMenuTarget : NSObject
|
|
1104
|
+
@property (nonatomic, copy) NSString* itemId;
|
|
1105
|
+
@end
|
|
1106
|
+
|
|
1107
|
+
@implementation ZappMenuTarget
|
|
1108
|
+
- (void)menuItemClicked:(id)sender {
|
|
1109
|
+
(void)sender;
|
|
1110
|
+
if (self.itemId == nil) return;
|
|
1111
|
+
// Dispatch menu:{id} event to all webviews
|
|
1112
|
+
// Use dispatch_async to ensure JS eval runs after any modal menu loop completes
|
|
1113
|
+
NSString* capturedId = [self.itemId copy];
|
|
1114
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
1115
|
+
NSString* eventName = [NSString stringWithFormat:@"menu:%@", capturedId];
|
|
1116
|
+
NSString* escapedName = [eventName stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"];
|
|
1117
|
+
NSString* js = [NSString stringWithFormat:
|
|
1118
|
+
@"(function(){var b=globalThis[Symbol.for('zapp.bridge')];if(b&&b.deliverEvent)b.deliverEvent('%@',{});})();",
|
|
1119
|
+
escapedName
|
|
1120
|
+
];
|
|
1121
|
+
for (NSWindow* window in [NSApp windows]) {
|
|
1122
|
+
NSView* content = [window contentView];
|
|
1123
|
+
if ([content isKindOfClass:[WKWebView class]]) {
|
|
1124
|
+
[(WKWebView*)content evaluateJavaScript:js completionHandler:nil];
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
});
|
|
1128
|
+
}
|
|
1129
|
+
@end
|
|
1130
|
+
|
|
1131
|
+
static NSMutableArray* zapp_menu_targets = nil;
|
|
1132
|
+
|
|
1133
|
+
static void zapp_parse_accelerator(NSString* accel, NSString** outKey, NSUInteger* outMask) {
|
|
1134
|
+
*outKey = @"";
|
|
1135
|
+
*outMask = 0;
|
|
1136
|
+
if (accel == nil || [accel length] == 0) return;
|
|
1137
|
+
NSArray* parts = [accel componentsSeparatedByString:@"+"];
|
|
1138
|
+
for (NSString* part in parts) {
|
|
1139
|
+
NSString* lower = [part lowercaseString];
|
|
1140
|
+
if ([lower isEqualToString:@"cmd"] || [lower isEqualToString:@"command"] || [lower isEqualToString:@"cmdorctrl"]) {
|
|
1141
|
+
*outMask |= NSEventModifierFlagCommand;
|
|
1142
|
+
} else if ([lower isEqualToString:@"ctrl"] || [lower isEqualToString:@"control"]) {
|
|
1143
|
+
*outMask |= NSEventModifierFlagControl;
|
|
1144
|
+
} else if ([lower isEqualToString:@"alt"] || [lower isEqualToString:@"option"]) {
|
|
1145
|
+
*outMask |= NSEventModifierFlagOption;
|
|
1146
|
+
} else if ([lower isEqualToString:@"shift"]) {
|
|
1147
|
+
*outMask |= NSEventModifierFlagShift;
|
|
1148
|
+
} else if ([lower isEqualToString:@"f11"]) {
|
|
1149
|
+
// F11 requires special handling - use unicode
|
|
1150
|
+
*outKey = [NSString stringWithFormat:@"%C", (unichar)NSF11FunctionKey];
|
|
1151
|
+
} else if ([lower length] == 1) {
|
|
1152
|
+
*outKey = lower;
|
|
1153
|
+
} else {
|
|
1154
|
+
*outKey = lower;
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
static void zapp_build_role_menu(NSMenu* menu, NSString* role) {
|
|
1160
|
+
if ([role isEqualToString:@"editMenu"]) {
|
|
1161
|
+
[menu addItemWithTitle:@"Undo" action:@selector(undo:) keyEquivalent:@"z"];
|
|
1162
|
+
[menu addItemWithTitle:@"Redo" action:@selector(redo:) keyEquivalent:@"Z"];
|
|
1163
|
+
[menu addItem:[NSMenuItem separatorItem]];
|
|
1164
|
+
[menu addItemWithTitle:@"Cut" action:@selector(cut:) keyEquivalent:@"x"];
|
|
1165
|
+
[menu addItemWithTitle:@"Copy" action:@selector(copy:) keyEquivalent:@"c"];
|
|
1166
|
+
[menu addItemWithTitle:@"Paste" action:@selector(paste:) keyEquivalent:@"v"];
|
|
1167
|
+
[menu addItemWithTitle:@"Select All" action:@selector(selectAll:) keyEquivalent:@"a"];
|
|
1168
|
+
} else if ([role isEqualToString:@"windowMenu"]) {
|
|
1169
|
+
[menu addItemWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"];
|
|
1170
|
+
[menu addItemWithTitle:@"Zoom" action:@selector(performZoom:) keyEquivalent:@""];
|
|
1171
|
+
[menu addItem:[NSMenuItem separatorItem]];
|
|
1172
|
+
[menu addItemWithTitle:@"Close Window" action:@selector(performClose:) keyEquivalent:@"w"];
|
|
1173
|
+
} else if ([role isEqualToString:@"appMenu"]) {
|
|
1174
|
+
extern char* app_get_bootstrap_name(void);
|
|
1175
|
+
const char* nameC = app_get_bootstrap_name();
|
|
1176
|
+
NSString* appName = nameC ? [NSString stringWithUTF8String:nameC] : @"Zapp";
|
|
1177
|
+
[menu addItemWithTitle:[NSString stringWithFormat:@"About %@", appName]
|
|
1178
|
+
action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""];
|
|
1179
|
+
[menu addItem:[NSMenuItem separatorItem]];
|
|
1180
|
+
[menu addItemWithTitle:[NSString stringWithFormat:@"Hide %@", appName]
|
|
1181
|
+
action:@selector(hide:) keyEquivalent:@"h"];
|
|
1182
|
+
NSMenuItem* hideOthers = [menu addItemWithTitle:@"Hide Others"
|
|
1183
|
+
action:@selector(hideOtherApplications:) keyEquivalent:@"h"];
|
|
1184
|
+
[hideOthers setKeyEquivalentModifierMask:NSEventModifierFlagOption | NSEventModifierFlagCommand];
|
|
1185
|
+
[menu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""];
|
|
1186
|
+
[menu addItem:[NSMenuItem separatorItem]];
|
|
1187
|
+
[menu addItemWithTitle:[NSString stringWithFormat:@"Quit %@", appName]
|
|
1188
|
+
action:@selector(terminate:) keyEquivalent:@"q"];
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
static NSMenu* zapp_build_menu_from_json(NSArray* items);
|
|
1193
|
+
|
|
1194
|
+
static void zapp_add_menu_item(NSMenu* menu, NSDictionary* def) {
|
|
1195
|
+
if (![def isKindOfClass:[NSDictionary class]]) return;
|
|
1196
|
+
|
|
1197
|
+
// Check for role
|
|
1198
|
+
NSString* role = def[@"role"];
|
|
1199
|
+
if ([role isKindOfClass:[NSString class]] && [role length] > 0) {
|
|
1200
|
+
// Item-level roles: always use native selectors (no JS callback)
|
|
1201
|
+
if ([role isEqualToString:@"copy"]) {
|
|
1202
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Copy" action:@selector(copy:) keyEquivalent:@""];
|
|
1203
|
+
return;
|
|
1204
|
+
} else if ([role isEqualToString:@"cut"]) {
|
|
1205
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Cut" action:@selector(cut:) keyEquivalent:@""];
|
|
1206
|
+
return;
|
|
1207
|
+
} else if ([role isEqualToString:@"paste"]) {
|
|
1208
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Paste" action:@selector(paste:) keyEquivalent:@""];
|
|
1209
|
+
return;
|
|
1210
|
+
} else if ([role isEqualToString:@"selectAll"]) {
|
|
1211
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Select All" action:@selector(selectAll:) keyEquivalent:@""];
|
|
1212
|
+
return;
|
|
1213
|
+
} else if ([role isEqualToString:@"undo"]) {
|
|
1214
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Undo" action:@selector(undo:) keyEquivalent:@""];
|
|
1215
|
+
return;
|
|
1216
|
+
} else if ([role isEqualToString:@"redo"]) {
|
|
1217
|
+
[menu addItemWithTitle:def[@"label"] ?: @"Redo" action:@selector(redo:) keyEquivalent:@""];
|
|
1218
|
+
return;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
// Menu-level roles (editMenu, windowMenu, appMenu)
|
|
1222
|
+
NSString* label = def[@"label"];
|
|
1223
|
+
if (![label isKindOfClass:[NSString class]]) {
|
|
1224
|
+
if ([role isEqualToString:@"editMenu"]) label = @"Edit";
|
|
1225
|
+
else if ([role isEqualToString:@"windowMenu"]) label = @"Window";
|
|
1226
|
+
else if ([role isEqualToString:@"appMenu"]) {
|
|
1227
|
+
extern char* app_get_bootstrap_name(void);
|
|
1228
|
+
const char* nameC = app_get_bootstrap_name();
|
|
1229
|
+
label = nameC ? [NSString stringWithUTF8String:nameC] : @"App";
|
|
1230
|
+
}
|
|
1231
|
+
else label = role;
|
|
1232
|
+
}
|
|
1233
|
+
NSMenuItem* menuItem = [[NSMenuItem alloc] init];
|
|
1234
|
+
NSMenu* submenu = [[NSMenu alloc] initWithTitle:label];
|
|
1235
|
+
zapp_build_role_menu(submenu, role);
|
|
1236
|
+
[menuItem setSubmenu:submenu];
|
|
1237
|
+
[menu addItem:menuItem];
|
|
1238
|
+
if ([role isEqualToString:@"windowMenu"]) {
|
|
1239
|
+
[NSApp setWindowsMenu:submenu];
|
|
1240
|
+
}
|
|
1241
|
+
return;
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
// Check for separator
|
|
1245
|
+
NSString* type = def[@"type"];
|
|
1246
|
+
if ([type isKindOfClass:[NSString class]] && [type isEqualToString:@"separator"]) {
|
|
1247
|
+
[menu addItem:[NSMenuItem separatorItem]];
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
NSString* label = def[@"label"];
|
|
1252
|
+
if (![label isKindOfClass:[NSString class]]) return;
|
|
1253
|
+
|
|
1254
|
+
// Check for submenu
|
|
1255
|
+
NSArray* submenuItems = def[@"submenu"];
|
|
1256
|
+
if ([submenuItems isKindOfClass:[NSArray class]] && [submenuItems count] > 0) {
|
|
1257
|
+
NSMenuItem* menuItem = [[NSMenuItem alloc] init];
|
|
1258
|
+
NSMenu* submenu = zapp_build_menu_from_json(submenuItems);
|
|
1259
|
+
[submenu setTitle:label];
|
|
1260
|
+
[menuItem setSubmenu:submenu];
|
|
1261
|
+
[menu addItem:menuItem];
|
|
1262
|
+
return;
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
// Regular item
|
|
1266
|
+
NSString* accelStr = def[@"accelerator"];
|
|
1267
|
+
NSString* key = @"";
|
|
1268
|
+
NSUInteger mask = 0;
|
|
1269
|
+
if ([accelStr isKindOfClass:[NSString class]]) {
|
|
1270
|
+
zapp_parse_accelerator(accelStr, &key, &mask);
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
NSString* itemId = def[@"id"];
|
|
1274
|
+
SEL action = NULL;
|
|
1275
|
+
ZappMenuTarget* target = nil;
|
|
1276
|
+
if ([itemId isKindOfClass:[NSString class]] && [itemId length] > 0) {
|
|
1277
|
+
target = [[ZappMenuTarget alloc] init];
|
|
1278
|
+
target.itemId = itemId;
|
|
1279
|
+
if (zapp_menu_targets == nil) zapp_menu_targets = [NSMutableArray array];
|
|
1280
|
+
[zapp_menu_targets addObject:target];
|
|
1281
|
+
action = @selector(menuItemClicked:);
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
NSMenuItem* item = [[NSMenuItem alloc] initWithTitle:label action:action keyEquivalent:key];
|
|
1285
|
+
if (mask != 0) [item setKeyEquivalentModifierMask:mask];
|
|
1286
|
+
if (target) [item setTarget:target];
|
|
1287
|
+
|
|
1288
|
+
id enabledVal = def[@"enabled"];
|
|
1289
|
+
if ([enabledVal respondsToSelector:@selector(boolValue)] && ![enabledVal boolValue]) {
|
|
1290
|
+
[item setEnabled:NO];
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
if ([type isKindOfClass:[NSString class]] && [type isEqualToString:@"checkbox"]) {
|
|
1294
|
+
id checkedVal = def[@"checked"];
|
|
1295
|
+
if ([checkedVal respondsToSelector:@selector(boolValue)] && [checkedVal boolValue]) {
|
|
1296
|
+
[item setState:NSControlStateValueOn];
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1300
|
+
[menu addItem:item];
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
static NSMenu* zapp_build_menu_from_json(NSArray* items) {
|
|
1304
|
+
NSMenu* menu = [[NSMenu alloc] init];
|
|
1305
|
+
for (NSDictionary* def in items) {
|
|
1306
|
+
zapp_add_menu_item(menu, def);
|
|
1307
|
+
}
|
|
1308
|
+
return menu;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
void app_set_menu(App* app, char* payload) {
|
|
1312
|
+
(void)app;
|
|
1313
|
+
if (payload == NULL) return;
|
|
1314
|
+
NSString* jsonStr = [NSString stringWithUTF8String:(const char*)payload];
|
|
1315
|
+
NSData* data = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
|
|
1316
|
+
if (data == nil) return;
|
|
1317
|
+
NSDictionary* body = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
|
|
1318
|
+
if (![body isKindOfClass:[NSDictionary class]]) return;
|
|
1319
|
+
NSArray* items = body[@"items"];
|
|
1320
|
+
if (![items isKindOfClass:[NSArray class]]) return;
|
|
1321
|
+
|
|
1322
|
+
void (^work)(void) = ^{
|
|
1323
|
+
// Clear old targets
|
|
1324
|
+
if (zapp_menu_targets) [zapp_menu_targets removeAllObjects];
|
|
1325
|
+
|
|
1326
|
+
NSMenu* mainMenu = [[NSMenu alloc] init];
|
|
1327
|
+
for (NSDictionary* def in items) {
|
|
1328
|
+
zapp_add_menu_item(mainMenu, def);
|
|
1329
|
+
}
|
|
1330
|
+
[NSApp setMainMenu:mainMenu];
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1333
|
+
if ([NSThread isMainThread]) { work(); }
|
|
1334
|
+
else { dispatch_async(dispatch_get_main_queue(), work); }
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1073
1337
|
// --- Dialog handling ---
|
|
1074
1338
|
|
|
1075
1339
|
void app_handle_dialog(App* app, char* action, char* payload_json) {
|
|
@@ -175,6 +175,16 @@ raw {
|
|
|
175
175
|
case IDM_WIN_CLOSE:
|
|
176
176
|
if (hwnd) PostMessageW(hwnd, WM_CLOSE, 0, 0);
|
|
177
177
|
break;
|
|
178
|
+
default: {
|
|
179
|
+
// Custom menu items (41000+)
|
|
180
|
+
extern const char* zapp_menu_id_for_cmd(int cmd);
|
|
181
|
+
extern void zapp_dispatch_custom_menu_click(const char* itemId);
|
|
182
|
+
const char* itemId = zapp_menu_id_for_cmd(cmd);
|
|
183
|
+
if (itemId) {
|
|
184
|
+
zapp_dispatch_custom_menu_click(itemId);
|
|
185
|
+
}
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
178
188
|
}
|
|
179
189
|
}
|
|
180
190
|
|
|
@@ -184,7 +194,7 @@ raw {
|
|
|
184
194
|
return 1;
|
|
185
195
|
case WM_COMMAND: {
|
|
186
196
|
WORD cmd = LOWORD(wParam);
|
|
187
|
-
if (cmd >= 40001
|
|
197
|
+
if (cmd >= 40001) {
|
|
188
198
|
zapp_handle_menu_command(hwnd, cmd);
|
|
189
199
|
return 0;
|
|
190
200
|
}
|
|
@@ -358,6 +368,22 @@ impl Platform for WindowsPlatform {
|
|
|
358
368
|
#ifdef _WIN32
|
|
359
369
|
zapp_should_terminate_after_last =
|
|
360
370
|
cfg.applicationShouldTerminateAfterLastWindowClosed ? TRUE : FALSE;
|
|
371
|
+
|
|
372
|
+
// Check for deep link URL in command line args
|
|
373
|
+
{
|
|
374
|
+
int argc = 0;
|
|
375
|
+
LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);
|
|
376
|
+
if (argv && argc > 1) {
|
|
377
|
+
// Check if last arg looks like a URL (contains "://")
|
|
378
|
+
wchar_t* lastArg = argv[argc - 1];
|
|
379
|
+
if (lastArg && wcsstr(lastArg, L"://") != NULL) {
|
|
380
|
+
// Store for dispatch after webview is ready
|
|
381
|
+
extern wchar_t* zapp_pending_deep_link;
|
|
382
|
+
zapp_pending_deep_link = _wcsdup(lastArg);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
if (argv) LocalFree(argv);
|
|
386
|
+
}
|
|
361
387
|
#endif
|
|
362
388
|
}
|
|
363
389
|
|