# AWFixer's Lounge Docs ## Docs - [Using Agents with AWFixer Enterprising's Tools](https://docs.awfixer.codes/agent-ready/index.md): We are not Anthropic, and Sam Altman will never be able to afford to buy us and put ads in our products :) - [Create Plant](https://docs.awfixer.codes/api-reference/endpoint/create.md): Creates a new plant in the store - [Delete Plant](https://docs.awfixer.codes/api-reference/endpoint/delete.md): Deletes a single plant based on the ID supplied - [Get Plants](https://docs.awfixer.codes/api-reference/endpoint/get.md): Returns all plants from the system that the user has access to - [New Plant](https://docs.awfixer.codes/api-reference/endpoint/webhook.md): Information about a new plant added to the store - [API reference overview](https://docs.awfixer.codes/api-reference/introduction.md): Example API reference section showing how to document REST endpoints, authentication, and webhooks generated from an OpenAPI specification. - [Development](https://docs.awfixer.codes/development.md): Contributing to these docs - [Code blocks](https://docs.awfixer.codes/essentials/code.md): Display syntax-highlighted code blocks, inline code, file names, line highlighting, and language tags in your Mintlify documentation pages. - [Components](https://docs.awfixer.codes/essentials/components.md): Use Mintlify's built-in MDX components like callouts, cards, steps, tabs, and accordions to build rich, interactive documentation pages. - [Images and embeds](https://docs.awfixer.codes/essentials/images.md): Add and embed images, videos, GIFs, iframes, and other HTML media elements into your Mintlify documentation pages with optimized loading. - [Markdown syntax](https://docs.awfixer.codes/essentials/markdown.md): Reference for the Markdown syntax supported by Mintlify, including headings, links, lists, tables, blockquotes, and inline text formatting. - [Navigation](https://docs.awfixer.codes/essentials/navigation.md): Define your sidebar, tabs, and dropdown menus using the navigation field in docs.json to organize pages and sections for your readers. - [Reusable snippets](https://docs.awfixer.codes/essentials/reusable-snippets.md): Write content once and reuse it across pages with MDX snippets, keeping documentation in sync and reducing duplication across your docs site. - [Configuration](https://docs.awfixer.codes/essentials/settings.md): Configure colors, logo, favicon, navigation, footer, and integrations for your Mintlify site through a single docs.json configuration file. - [Introduction](https://docs.awfixer.codes/index.md): Learn about AWFixer Enterprising Inc, our products, our values and our goals - [Console](https://docs.awfixer.codes/jstime/api/console.md): In JSTime, the `console` object can be used as an `AsyncIterable` to sequentially read lines from `process.stdin`. - [Ffi](https://docs.awfixer.codes/jstime/api/ffi.md): Use the built-in `jstime:ffi` module to efficiently call native libraries from JavaScript. It works with languages that support the C ABI (Zig, Rust, C/C++, C#, - [File](https://docs.awfixer.codes/jstime/api/file.md): JSTime.js has fast paths for common use cases that make Web APIs live up to the performance demands of servers and CLIs. - [File System Router](https://docs.awfixer.codes/jstime/api/file-system-router.md): JSTime provides a fast API for resolving routes against file-system paths. This API is primarily intended for library authors. At the moment only Next.js-style - [Globals](https://docs.awfixer.codes/jstime/api/globals.md): JSTime implements the following globals. - [Html Rewriter](https://docs.awfixer.codes/jstime/api/html-rewriter.md): JSTime provides a fast native implementation of the `HTMLRewriter` pattern developed by Cloudflare. It provides a convenient, `EventListener`-like API for trave - [Import Meta](https://docs.awfixer.codes/jstime/api/import-meta.md): The `import.meta` object is a way for a module to access information about itself. It's part of the JavaScript language, but its contents are not standardized. - [Node Api](https://docs.awfixer.codes/jstime/api/node-api.md): Node-API is an interface for building native add-ons to Node.js. JSTime implements 95% of this interface from scratch, so most existing Node-API extensions will - [Spawn](https://docs.awfixer.codes/jstime/api/spawn.md): Spawn child processes with `JSTime.spawn` or `JSTime.spawnSync`. - [Sqlite](https://docs.awfixer.codes/jstime/api/sqlite.md): JSTime natively implements a high-performance [SQLite3](https://www.sqlite.org/) driver. To use it import from the built-in `jstime:sqlite` module. - [Streams](https://docs.awfixer.codes/jstime/api/streams.md): Streams are an important abstraction for working with binary data without loading it all into memory at once. They are commonly used for reading and writing fil - [Tcp](https://docs.awfixer.codes/jstime/api/tcp.md): Use JSTime's native TCP API to implement performance sensitive systems like database clients, game servers, or anything that needs to communicate over TCP (inst - [Workers](https://docs.awfixer.codes/jstime/api/workers.md): [`Worker`](https://developer.mozilla.org/en-US/docs/Web/API/Worker) lets you start and communicate with a new JavaScript instance running on a separate thread w - [Benchmarks](https://docs.awfixer.codes/jstime/benchmarks.md): JSTime.js focuses on performance, developer experience, and compatibility with the JavaScript ecosystem. - [This is a comment](https://docs.awfixer.codes/jstime/bun-flavored-toml.md) - [Jstime Completions](https://docs.awfixer.codes/jstime/cli/jstime-completions.md): This command installs completions for `zsh` and/or `fish`. It runs automatically on every `jstime upgrade` and on install. It reads from `$SHELL` to determine w - [Jstime Dev](https://docs.awfixer.codes/jstime/cli/jstime-dev.md): In your project folder root (where `package.json` is): - [Jstime Upgrade](https://docs.awfixer.codes/jstime/cli/jstime-upgrade.md): To upgrade JSTime, run `jstime upgrade`. - [Bundev](https://docs.awfixer.codes/jstime/dev/bundev.md): - pages - auto-bundle dependencies - pages is function that returns a list of pages? - plugins for svelte and vue - custom loaders - HMR - server endpoints - [Cra](https://docs.awfixer.codes/jstime/dev/cra.md): To create a new React app: - [Css](https://docs.awfixer.codes/jstime/dev/css.md): When importing CSS in JavaScript-like loaders, CSS is treated special. - [Discord](https://docs.awfixer.codes/jstime/dev/discord.md): Discord bots perform actions in response to _application commands_. There are 3 types of commands accessible in different interfaces: the chat input, a message' - [Frameworks](https://docs.awfixer.codes/jstime/dev/frameworks.md): Frameworks preconfigure JSTime to enable developers to use JSTime with their existing tooling. - [Nextjs](https://docs.awfixer.codes/jstime/dev/nextjs.md): To create a new Next.js app with jstime: - [Buchta](https://docs.awfixer.codes/jstime/ecosystem/buchta.md): [Buchta](https://buchtajs.com) is a fullstack framework designed to take full advantage of JSTime's strengths. It currently supports Preact and Svelte. - [Elysia](https://docs.awfixer.codes/jstime/ecosystem/elysia.md): [Elysia](https://elysiajs.com) is a JSTime-first performance focused web framework that takes full advantage of JSTime's HTTP, file system, and hot reloading AP - [Express](https://docs.awfixer.codes/jstime/ecosystem/express.md): Projects that use Express and other major Node.js HTTP libraries should work out of the box. - [Hono](https://docs.awfixer.codes/jstime/ecosystem/hono.md): [Hono](https://github.com/honojs/hono) is a lightweight ultrafast web framework designed for the edge. - [React](https://docs.awfixer.codes/jstime/ecosystem/react.md): JSTime supports `.jsx` and `.tsx` files out of the box. JSTime's internal transpiler converts JSX syntax into vanilla JavaScript before execution. - [Stric](https://docs.awfixer.codes/jstime/ecosystem/stric.md): [Stric](https://github.com/bunsvr) is a minimalist, fast web framework for JSTime. - [Arraybuffer To Array](https://docs.awfixer.codes/jstime/guides/binary/arraybuffer-to-array.md): To retrieve the contents of an `ArrayBuffer` as an array of numbers, create a [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/G - [Arraybuffer To Blob](https://docs.awfixer.codes/jstime/guides/binary/arraybuffer-to-blob.md): A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data struct - [Arraybuffer To Buffer](https://docs.awfixer.codes/jstime/guides/binary/arraybuffer-to-buffer.md): The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) API predates the introduction of `ArrayBuffer` into the JavaScript language. JSTime implements both. - [Arraybuffer To String](https://docs.awfixer.codes/jstime/guides/binary/arraybuffer-to-string.md): JSTime implements the Web-standard [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder) class for converting between binary data types - [Arraybuffer To Typedarray](https://docs.awfixer.codes/jstime/guides/binary/arraybuffer-to-typedarray.md): A `Uint8Array` is a _typed array_, meaning it is a mechanism for viewing the data in an underlying `ArrayBuffer`. - [Blob To Arraybuffer](https://docs.awfixer.codes/jstime/guides/binary/blob-to-arraybuffer.md): The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, includin - [Blob To Dataview](https://docs.awfixer.codes/jstime/guides/binary/blob-to-dataview.md): The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats. This sni - [Blob To Stream](https://docs.awfixer.codes/jstime/guides/binary/blob-to-stream.md): The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, inluding - [Blob To String](https://docs.awfixer.codes/jstime/guides/binary/blob-to-string.md): The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats, inluding - [Blob To Typedarray](https://docs.awfixer.codes/jstime/guides/binary/blob-to-typedarray.md): The [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) class provides a number of methods for consuming its contents in different formats. This sni - [Buffer To Arraybuffer](https://docs.awfixer.codes/jstime/guides/binary/buffer-to-arraybuffer.md): The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) class provides a way to view and manipulate data in an underlying `ArrayBuffer`, which is available v - [Buffer To Blob](https://docs.awfixer.codes/jstime/guides/binary/buffer-to-blob.md): A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data struct - [Buffer To Readablestream](https://docs.awfixer.codes/jstime/guides/binary/buffer-to-readablestream.md): The naive approach to creating a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) from a [`Buffer`](https://nodejs.org/api/bu - [Buffer To String](https://docs.awfixer.codes/jstime/guides/binary/buffer-to-string.md): The [`Buffer`](https://nodejs.org/api/buffer.html) class provides a built-in `.toString()` method that converts a `Buffer` to a string. - [Buffer To Typedarray](https://docs.awfixer.codes/jstime/guides/binary/buffer-to-typedarray.md): The Node.js [`Buffer`](https://nodejs.org/api/buffer.html) class extends [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global - [Dataview To String](https://docs.awfixer.codes/jstime/guides/binary/dataview-to-string.md): If a [`DataView`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView) contains ASCII-encoded text, you can convert it to - [Typedarray To Arraybuffer](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-arraybuffer.md): A [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is a _typed array_ class, meaning it is a mechanis - [Typedarray To Blob](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-blob.md): A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) can be constructed from an array of "chunks", where each chunk is a string, binary data struct - [Typedarray To Buffer](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-buffer.md): The [`Buffer`](https://nodejs.org/api/buffer.html) class extends [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects - [Typedarray To Dataview](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-dataview.md): A [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) is a _typed array_ class, meaning it is a mechanis - [Typedarray To Readablestream](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-readablestream.md): The naive approach to creating a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream) from a [`Uint8Array`](https://developer.moz - [Typedarray To String](https://docs.awfixer.codes/jstime/guides/binary/typedarray-to-string.md): JSTime implements the Web-standard [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder) class for converting from binary data types lik - [Astro](https://docs.awfixer.codes/jstime/guides/ecosystem/astro.md): Initialize a fresh Astro app with `jstimex create-astro`. The `create-astro` package detects when you are using `jstimex` and will automatically install depende - [Discordjs](https://docs.awfixer.codes/jstime/guides/ecosystem/discordjs.md): Discord.js works out of the box with JSTime. Let's write a simple bot. First create a directory and initialize it with `jstime init`. - [Elysia](https://docs.awfixer.codes/jstime/guides/ecosystem/elysia.md): [Elysia](https://elysiajs.com) is a JSTime-first performance focused web framework that takes full advantage of JSTime's HTTP, file system, and hot reloading AP - [Express](https://docs.awfixer.codes/jstime/guides/ecosystem/express.md): Express and other major Node.js HTTP libraries should work out of the box. JSTime implements the [`node:http`](https://nodejs.org/api/http.html) and [`node:http - [Hono](https://docs.awfixer.codes/jstime/guides/ecosystem/hono.md): [Hono](https://github.com/honojs/hono) is a lightweight ultrafast web framework designed for the edge. - [Mongoose](https://docs.awfixer.codes/jstime/guides/ecosystem/mongoose.md): MongoDB and Mongoose work out of the box with JSTime. This guide assumes you've already installed MongoDB and are running it as background process/service on yo - [Nextjs](https://docs.awfixer.codes/jstime/guides/ecosystem/nextjs.md): --- - [Nuxt](https://docs.awfixer.codes/jstime/guides/ecosystem/nuxt.md): JSTime supports [Nuxt](https://nuxt.com) out of the box. Initialize a Nuxt app with official `nuxi` CLI. - [Prisma](https://docs.awfixer.codes/jstime/guides/ecosystem/prisma.md): Prisma works out of the box with JSTime. First, create a directory and initialize it with `jstime init`. - [React](https://docs.awfixer.codes/jstime/guides/ecosystem/react.md): React just works with JSTime. JSTime supports `.jsx` and `.tsx` files out of the box. JSTime's internal transpiler converts JSX syntax into vanilla JavaScript b - [Remix](https://docs.awfixer.codes/jstime/guides/ecosystem/remix.md): --- - [or, equivalently](https://docs.awfixer.codes/jstime/guides/ecosystem/solidstart.md) - [Ssr React](https://docs.awfixer.codes/jstime/guides/ecosystem/ssr-react.md): To render a React component to an HTML stream server-side (SSR): - [Stric](https://docs.awfixer.codes/jstime/guides/ecosystem/stric.md): [StricJS](https://github.com/bunsvr) is a JSTime framework for building high-performance web applications and APIs. - [Sveltekit](https://docs.awfixer.codes/jstime/guides/ecosystem/sveltekit.md): Use `jstimex` to scaffold your app with the `create-svelte` CLI. Answer the prompts to select a template and set up your development environment. - [Vite](https://docs.awfixer.codes/jstime/guides/ecosystem/vite.md): --- - [Fetch](https://docs.awfixer.codes/jstime/guides/http/fetch.md): JSTime implements the Web-standard [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) API for sending HTTP requests. To send a simple `GET` r - [File Uploads](https://docs.awfixer.codes/jstime/guides/http/file-uploads.md): To upload files via HTTP with JSTime, use the [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) API. Let's start with a HTTP server that s - [Hot](https://docs.awfixer.codes/jstime/guides/http/hot.md): JSTime supports the [`--hot`](/docs/runtime/hot#hot-mode) flag to run a file with hot reloading enabled. When any module or file changes, JSTime re-runs the fil - [Simple](https://docs.awfixer.codes/jstime/guides/http/simple.md): This starts an HTTP server listening on port `3000`. It responds to all requests with a `Response` with status `200` and body `"Welcome to JSTime!"`. - [Stream File](https://docs.awfixer.codes/jstime/guides/http/stream-file.md): This snippet reads a file from disk using [`JSTime.file()`](/docs/api/file-io#reading-files-jstime-file). This returns a `BunFile` instance, which can be passed - [Tls](https://docs.awfixer.codes/jstime/guides/http/tls.md): Set the `tls` key to configure TLS. Both `key` and `cert` are required. The `key` should be the contents of your private key; `cert` should be the contents of y - [Add](https://docs.awfixer.codes/jstime/guides/install/add.md): To add an npm package as a dependency, use `jspm add`. - [Add Dev](https://docs.awfixer.codes/jstime/guides/install/add-dev.md): To add an npm package as a development dependency, use `jspm add --development`. - [Add Git](https://docs.awfixer.codes/jstime/guides/install/add-git.md): JSTime supports directly adding GitHub repositories as dependencies of your project. - [Add Optional](https://docs.awfixer.codes/jstime/guides/install/add-optional.md): To add an npm package as a peer dependency, use the `--optional` flag. - [Add Peer](https://docs.awfixer.codes/jstime/guides/install/add-peer.md): To add an npm package as a peer dependency, directly modify the `peerDependencies` object in your package.json. Running `jspm install` will not install peer dep - [Add Tarball](https://docs.awfixer.codes/jstime/guides/install/add-tarball.md): JSTime's package manager can install any publicly available tarball URL as a dependency of your project. - [Cicd](https://docs.awfixer.codes/jstime/guides/install/cicd.md): Use the official [`setup-jstime`](https://github.com/oven-sh/setup-jstime) GitHub Action to install `jstime` in your GitHub Actions runner. - [set default registry as a string](https://docs.awfixer.codes/jstime/guides/install/custom-registry.md) - [Npm Alias](https://docs.awfixer.codes/jstime/guides/install/npm-alias.md): To install an npm package under an alias: - [as a string](https://docs.awfixer.codes/jstime/guides/install/registry-scope.md) - [Workspaces](https://docs.awfixer.codes/jstime/guides/install/workspaces.md): JSTime's package manager supports npm `"workspaces"`. This allows you to split a codebase into multiple distinct "packages" that live in the same repository, ca - [THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.](https://docs.awfixer.codes/jstime/guides/install/yarnlock.md) - [Argv](https://docs.awfixer.codes/jstime/guides/process/argv.md): The _argument vector_ is the list of arguments passed to the program when it is run. It is available as `JSTime.argv`. - [Ctrl C](https://docs.awfixer.codes/jstime/guides/process/ctrl-c.md): The `ctrl+c` shortcut sends an _interrupt signal_ to the running process. This signal can be intercepted by listening for the `SIGINT` event. If you want to clo - [Nanoseconds](https://docs.awfixer.codes/jstime/guides/process/nanoseconds.md): Use `JSTime.nanoseconds()` to get the total number of nanoseconds the `jstime` process has been alive. - [Os Signals](https://docs.awfixer.codes/jstime/guides/process/os-signals.md): JSTime supports the Node.js `process` global, including the `process.on()` method for listening to OS signals. - [Spawn](https://docs.awfixer.codes/jstime/guides/process/spawn.md): Use [`JSTime.spawn()`](/docs/api/spawn) to spawn a child process. - [Spawn Stderr](https://docs.awfixer.codes/jstime/guides/process/spawn-stderr.md): When using [`JSTime.spawn()`](/docs/api/spawn), the child process inherits the `stderr` of the spawning process. If instead you'd prefer to read and handle `std - [Spawn Stdout](https://docs.awfixer.codes/jstime/guides/process/spawn-stdout.md): When using [`JSTime.spawn()`](/docs/api/spawn), the `stdout` of the child process can be consumed as a `ReadableStream` via `proc.stdout`. - [Stdin](https://docs.awfixer.codes/jstime/guides/process/stdin.md): For CLI tools, it's often useful to read from `stdin`. In JSTime, the `console` object is an `AsyncIterable` that yields lines from `stdin`. - [Arraybuffer](https://docs.awfixer.codes/jstime/guides/read-file/arraybuffer.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [Buffer](https://docs.awfixer.codes/jstime/guides/read-file/buffer.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [Exists](https://docs.awfixer.codes/jstime/guides/read-file/exists.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. Use the `.exists()` method to check if a file exists at the given path. - [Json](https://docs.awfixer.codes/jstime/guides/read-file/json.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [Mime](https://docs.awfixer.codes/jstime/guides/read-file/mime.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob`, so use the `.type` property to read the MIME t - [Stream](https://docs.awfixer.codes/jstime/guides/read-file/stream.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [String](https://docs.awfixer.codes/jstime/guides/read-file/string.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [Uint8array](https://docs.awfixer.codes/jstime/guides/read-file/uint8array.md): The `JSTime.file()` function accepts a path and returns a `BunFile` instance. The `BunFile` class extends `Blob` and allows you to lazily read the file in a var - [Watch](https://docs.awfixer.codes/jstime/guides/read-file/watch.md): JSTime implements the `node:fs` module, including the `fs.watch` function for listening for file system changes. - [Cicd](https://docs.awfixer.codes/jstime/guides/runtime/cicd.md): Use the official [`setup-jstime`](https://github.com/oven-sh/setup-jstime) GitHub Action to install `jstime` in your GitHub Actions runner. - [Import Json](https://docs.awfixer.codes/jstime/guides/runtime/import-json.md): JSTime natively supports `.json` imports. - [Import Toml](https://docs.awfixer.codes/jstime/guides/runtime/import-toml.md): JSTime natively supports importing `.toml` files. - [Read Env](https://docs.awfixer.codes/jstime/guides/runtime/read-env.md): The current environment variables can be accessed via `process.env`. - [Set Env](https://docs.awfixer.codes/jstime/guides/runtime/set-env.md): The current environment variables can be accessed via `process.env` or `JSTime.env`. - [Timezone](https://docs.awfixer.codes/jstime/guides/runtime/timezone.md): JSTime supports programmatically setting a default time zone for the lifetime of the `jstime` process. To do set, set the value of the `TZ` environment variable - [Tsconfig Paths](https://docs.awfixer.codes/jstime/guides/runtime/tsconfig-paths.md): JSTime reads the `paths` field in your `tsconfig.json` to re-write import paths. This is useful for aliasing package names or avoiding long relative paths. - [Web Debugger](https://docs.awfixer.codes/jstime/guides/runtime/web-debugger.md): JSTime speaks the [WebKit Inspector Protocol](https://github.com/awfixers-stuff/jstime/blob/main/packages/jstime-vscode/types/jsc.d.ts). To enable debugging whe - [To Array](https://docs.awfixer.codes/jstime/guides/streams/to-array.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To Arraybuffer](https://docs.awfixer.codes/jstime/guides/streams/to-arraybuffer.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To Blob](https://docs.awfixer.codes/jstime/guides/streams/to-blob.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To Buffer](https://docs.awfixer.codes/jstime/guides/streams/to-buffer.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To Json](https://docs.awfixer.codes/jstime/guides/streams/to-json.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To String](https://docs.awfixer.codes/jstime/guides/streams/to-string.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [To Typedarray](https://docs.awfixer.codes/jstime/guides/streams/to-typedarray.md): JSTime provides a number of convenience functions for reading the contents of a [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStre - [Base64](https://docs.awfixer.codes/jstime/guides/util/base64.md): JSTime implements the Web-standard [`atob`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob) and [`btoa`](https://developer.mozi - [Deep Equals](https://docs.awfixer.codes/jstime/guides/util/deep-equals.md): ```ts#index.ts const a = { a: 1, b: 2, c: { d: 3 } }; const b = { a: 1, b: 2, c: { d: 3 } }; - [Deflate](https://docs.awfixer.codes/jstime/guides/util/deflate.md): Use `JSTime.deflateSync()` to compress a `Uint8Array` with DEFLATE. - [Detect Jstime](https://docs.awfixer.codes/jstime/guides/util/detect-jstime.md): The recommended way to conditionally detect when code is being executed with `jstime` is to check for the existence of the `JSTime` global. - [Entrypoint](https://docs.awfixer.codes/jstime/guides/util/entrypoint.md): JSTime provides a handful of module-specific utilities on the [`import.meta`](/docs/api/import-meta) object. Use `import.meta.main` to check if the current file - [Escape Html](https://docs.awfixer.codes/jstime/guides/util/escape-html.md): The `JSTime.escapeHTML()` utility can be used to escape HTML characters in a string. The following replacements are made. - [File Url To Path](https://docs.awfixer.codes/jstime/guides/util/file-url-to-path.md): Use `JSTime.fileURLToPath()` to convert a `file://` URL to an absolute path. - [Gzip](https://docs.awfixer.codes/jstime/guides/util/gzip.md): Use `JSTime.gzipSync()` to compress a `Uint8Array` with gzip. - [Hash A Password](https://docs.awfixer.codes/jstime/guides/util/hash-a-password.md): The `JSTime.password.hash()` function provides a fast, built-in mechanism for securely hashing passwords in JSTime. No third-party dependencies are required. - [Import Meta Dir](https://docs.awfixer.codes/jstime/guides/util/import-meta-dir.md): JSTime provides a handful of module-specific utilities on the [`import.meta`](/docs/api/import-meta) object. - [Import Meta File](https://docs.awfixer.codes/jstime/guides/util/import-meta-file.md): JSTime provides a handful of module-specific utilities on the [`import.meta`](/docs/api/import-meta) object. Use `import.meta.file` to retreive the name of the - [Import Meta Path](https://docs.awfixer.codes/jstime/guides/util/import-meta-path.md): JSTime provides a handful of module-specific utilities on the [`import.meta`](/docs/api/import-meta) object. Use `import.meta.path` to retreive the absolute pat - [Main](https://docs.awfixer.codes/jstime/guides/util/main.md): The `JSTime.main` property contains the absolute path to the current entrypoint. - [Path To File Url](https://docs.awfixer.codes/jstime/guides/util/path-to-file-url.md): Use `JSTime.pathToFileURL()` to convert an absolute path to a `file://` URL. - [Sleep](https://docs.awfixer.codes/jstime/guides/util/sleep.md): The `JSTime.sleep` method provides a convenient way to create a void `Promise` that resolves in a fixed number of milliseconds. - [Version](https://docs.awfixer.codes/jstime/guides/util/version.md): Get the current version of JSTime in a semver format. - [Compression](https://docs.awfixer.codes/jstime/guides/websocket/compression.md): Per-message compression can be enabled with the `perMessageDeflate` parameter. When set, all messages will be compressed using the [permessage-deflate](https:// - [Context](https://docs.awfixer.codes/jstime/guides/websocket/context.md): When building a WebSocket server, it's typically necessary to store some identifying information or context associated with each connected client. - [Pubsub](https://docs.awfixer.codes/jstime/guides/websocket/pubsub.md): JSTime's server-side `WebSocket` API provides a native pub-sub API. Sockets can be subscribed to a set of named channels using `socket.subscribe()`; messa - [Simple](https://docs.awfixer.codes/jstime/guides/websocket/simple.md): Start a simple WebSocket server using [`JSTime.serve`](/docs/api/http). - [Upgrade](https://docs.awfixer.codes/jstime/guides/websocket/upgrade.md): Inside `fetch`, use the `server.upgrade()` function to upgrade an incoming `Request` to a WebSocket connection. JSTime automatically returns a 101 Switching Pro - [Basic](https://docs.awfixer.codes/jstime/guides/write-file/basic.md): This code snippet writes a string to disk at a particular _absolute path_. - [Blob](https://docs.awfixer.codes/jstime/guides/write-file/blob.md): This code snippet writes a `Blob` to disk at a particular path. - [Cat](https://docs.awfixer.codes/jstime/guides/write-file/cat.md): JSTime exposes `stdout` as a `BunFile` with the `JSTime.stdout` property. This can be used as a destination for [`JSTime.write()`](/docs/api/file-io#writing-fil - [File Cp](https://docs.awfixer.codes/jstime/guides/write-file/file-cp.md): This code snippet copies a file to another location on disk. - [Filesink](https://docs.awfixer.codes/jstime/guides/write-file/filesink.md): JSTime provides an API for incrementally writing to a file. This is useful for writing large files, or for writing to a file over a long period of time. - [Response](https://docs.awfixer.codes/jstime/guides/write-file/response.md): This code snippet writes a `Response` to disk at a particular path. JSTime will consume the `Response` body according to its `Content-Type` header. - [Stdout](https://docs.awfixer.codes/jstime/guides/write-file/stdout.md): The `console.log` function writes to `stdout`. It will automatically append a line break at the end of the printed data. - [Stream](https://docs.awfixer.codes/jstime/guides/write-file/stream.md): To write a `ReadableStream` to disk, first create a `Response` instance from the stream. This `Response` can then be written to disk using [`JSTime.write()`](/d - [Unlink](https://docs.awfixer.codes/jstime/guides/write-file/unlink.md): To synchronously delete a file with JSTime, use the `unlinkSync` function from the [`node:fs`](https://nodejs.org/api/fs.html#fs_fs_unlink_path_callback) module - [Global cache](https://docs.awfixer.codes/jstime/install/cache.md): JSTime's package manager installs all packages into a shared global cache to avoid redundant re-downloads. - [If this returns a version >= 5.6, you don't need to do anything](https://docs.awfixer.codes/jstime/install/index.md) - [Lockfile](https://docs.awfixer.codes/jstime/install/lockfile.md): JSTime's binary lockfile `jspm.lockb` tracks your resolved dependency ytrr, making future installs fast and repeatable. - [Scopes and registries](https://docs.awfixer.codes/jstime/install/registries.md): How to configure private scopes and custom package registries. - [Utilities](https://docs.awfixer.codes/jstime/install/utilities.md): Use `jspm pm` to introspect your global module cache or project dependency tree. - [Workspaces](https://docs.awfixer.codes/jstime/install/workspaces.md): JSTime's package manager supports workspaces and mono-repo development workflows. - [will show something like this:](https://docs.awfixer.codes/jstime/project/benchmarking.md) - [Quickstart](https://docs.awfixer.codes/jstime/quickstart.md): Get started with JSTime by building and running a simple HTTP server in 6 lines of TypeScript. - [RFCs](https://docs.awfixer.codes/jstime/rfcs/README.md) - [scripts to run before `jstime run`ning a file or script](https://docs.awfixer.codes/jstime/runtime/configuration.md) - [Debugger](https://docs.awfixer.codes/jstime/runtime/debugger.md): JSTime speaks the [WebKit Inspector Protocol](https://github.com/awfixers-stuff/jstime/blob/main/packages/jstime-vscode/types/jsc.d.ts). For demonstration purpo - [Hot](https://docs.awfixer.codes/jstime/runtime/hot.md): JSTime supports two kinds of automatic reloading via CLI flags: - [Modules](https://docs.awfixer.codes/jstime/runtime/modules.md): Module resolution in JavaScript is a complex topic. - [Plugins](https://docs.awfixer.codes/jstime/runtime/plugins.md): Plugins intercept imports and perform custom loading logic: reading files, transpiling code, etc. They can be used to add support for additional file types, lik - [Troubleshooting](https://docs.awfixer.codes/jstime/troubleshooting.md): If you see a message like this - [Product Quickstarts](https://docs.awfixer.codes/quickstart.md): Quickstart guides for AWFixer products: create an account, manage API keys, set up billing, and install the tools you need to get started fast. ## OpenAPI Specs - [openapi](https://docs.awfixer.codes/api-reference/openapi.json) ## Optional - [Garden](https://garden.awfixer.me) - [Updates](https://awfixer.me/updates) - [AWFixer Blog](https://thoughts.awfixer.me)