JSTools Weekly —🔥2023#9: Docus: Write beautiful docs with Nuxt & Markdown
Tags: javascript, webdev, typescript, node
Published: 2023-03-08 18:10:47

Hi JS developers👋
[JSTools Weekly](https://jstools.substack.com/) newsletter, issue [2023#9](https://jstools.substack.com/p/2023-hotjstools-9) (hot JS Tools) just released.


![hot JS tools, issue 2023#9](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kg9abe1ms04jvvxbdz2f.png)

**[docus](https://github.com/nuxt-themes/docus): **Write beautiful documentations with Nuxt and Markdown.

![Docus](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bcc8611-9e74-46cb-b0a7-00b8301ed541_1280x640.png "Docus")


**[schema](https://github.com/Effect-TS/schema): **Modeling the schema of data structures as first-class values

![Effect-TS/schema](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d9375f9-243a-461a-800e-b4e952010afe_1040x894.png)



**[next-fetch](https://github.com/vercel-labs/next-fetch): **Intuitive data fetching for Next.js

-   💃 Import your API endpoints instead of making a stringified dance

-   🔒 Infer the types end-to-end for your data based on its implementation

-   ⚛ Think in React, instead of routing: you only export a React hook!

-   🕵 Embrace best-practices: input validation, error handling, etc.

-   🌐 Use `Request` and `Response` classes as building blocks, no matter what runtime you're running on (Node.js or Edge)

-   📝 Use `<Form />` component for making progressive enhanced experiences

-   🤯 Supports SWR and React Query out of the box!

**[arktype](https://github.com/arktypeio/arktype): **The first isomorphic type system for TS/JS

**[ddb-table](https://github.com/neuledge/ddb-table): **🔒 Strongly typed library for querying and modeling DynamoDB documents in TypeScript.

-   Strongly Typed - End-to-end TypeScript validation for your data.

-   Easy Query Expressions - Automatically escape name attributes and values.

-   Smart Projections - Make sure you only access the fields you project.

-   Query & Scan Indexes - Complete support for global or local indexes.

-   Pure JavaScript - Also works without TypeScript.

**[database-js](https://github.com/planetscale/database-js): **A Fetch API-compatible PlanetScale database driver

**[nextjs-openai](https://github.com/gptlabs/nextjs-openai): **Hooks and components for working with OpenAI streams.

**[GPT-3-Encoder](https://github.com/latitudegames/GPT-3-Encoder): **Javascript BPE Encoder Decoder for GPT-2 / GPT-3

**[openai-node](https://github.com/openai/openai-node): **Node.js library for the OpenAI API

```
const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

const completion = await openai.createCompletion({
  model: "text-davinci-003",
  prompt: "Hello world",
});
console.log(completion.data.choices[0].text);
```

**[signia](https://github.com/tldraw/signia): **Reactive signals that scale, by tldraw.

**[seniman](https://github.com/senimanjs/seniman): **Seniman.JS is a Node.JS framework for server-driven JSX user interfaces

```
import { useState } from "seniman";

function Counter(props) {
  let [getCount, setCount] = useState(0);
  let onClick = () => setCount(count => count + 1);

  return <div class="counter">
    My counter: {getCount()}
    <button onClick={onClick}>Add +</button>
  </div>;
}
```

**[react-qrcode-logo](https://github.com/gcoro/react-qrcode-logo): **React + Typescript component to generate a QR Code with custom colors and logo

![react-qrcode-logo](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8a0a1bd5-22a3-4b46-8ce7-9ae63183fc53_1004x338.png)

**[vavite](https://github.com/cyco130/vavite): **Develop server-side applications with Vite

**[dukpy](https://github.com/amol-/dukpy): **Simple JavaScript interpreter for Python

**[Chromogen](https://github.com/open-source-labs/Chromogen): **UI-driven Jest test-generation package for Recoil selectors and Zustand store hooks

**[zod-validation-error](https://github.com/causaly/zod-validation-error): **Wrap zod validation errors in user-friendly readable messages

-   User-friendly readable messages, configurable via options;

-   Maintain original errors under `error.details`;

-   Extensive tests.

**[NotionAI](https://github.com/Vaayne/NotionAI): **Unofficial NotionAI API

**[monokle](https://github.com/kubeshop/monokle): **🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations

-   👩‍💻 Single IDE for your configuration files, manifests, resources and cluster management

-   🌤️ Connect to your clusters and see real time state and resources

-   ⚡ Quickly get a high-level view of your manifests, their contained resources and relationships

-   📇 Leverage Git to manage the lifecycle of your configuration

-   👌 Validate your manifests in real time against YAML formatting, K8s schemas including CRD installed, and easily follow links

-   ✅ Validate resources using OPA policy rules or define your own

-   and many more

**[qwik-ui](https://github.com/qwikifiers/qwik-ui): **Qwik UI Components

**[nextjs-components](https://github.com/nextjs-components/nextjs-components): **A collection of React components, transcribed from https://vercel.com/design.



![nextjs-components](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff150c727-5688-417b-9904-1c70ba90ba61_2322x1454.jpeg "nextjs-components")

**[react-plock](https://github.com/itsrennyman/react-plock): **The 1kB Masonry Grid for React.

-   Masonry Layout: Create beautiful masonry layouts with ease.

-   Responsive: Automatically adapts to different screen sizes and devices.

-   Customizable: Customize the layout to match your needs.

-   TypeScript Ready: Get the strength of type-safe languages.

-   Amazing DX: Easy to use and well-documented.


[See full list of hot javascript tools](https://jstools.substack.com/p/2023-hotjstools-9)