The Technology Behind “Moyuk”: Create, Run and Share Tools with TypeScript on Your Browser

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • Appwrite - The open-source backend cloud platform
  • Sonar - Write Clean JavaScript Code. Always.
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    The extraction of type information is done using the TypeScript Compiler API. It was quite challenging due to the lack of documentation and articles.

  • bulletproof-react

    🛡️ ⚛️ A simple, scalable, and powerful architecture for building production ready React applications.

    One of the distinctive aspects of the project is the adoption of the features directory, inspired by Bulletproof React. I personally prefer organizing components with high functional cohesion close together, which is why I chose this structure. I try not to write too much logic inside the pages directory of Next.js and instead just combine and use components exported from features.

  • Appwrite

    Appwrite - The open-source backend cloud platform. The open-source backend cloud platform for developing Web, Mobile, and Flutter applications. You can set up your backend faster with real-time APIs for authentication, databases, file storage, cloud functions, and much more!

  • zustand

    🐻 Bear necessities for state management in React

    Initially, I used zustand as a lightweight state management library, but eventually replaced it with React's Context, which was deemed sufficient. This decision was based on a policy of minimizing global state, which has not caused much pain.

  • zod

    TypeScript-first schema validation with static type inference

    Forms are built with the popular React Hook Form + Zod.

  • Prisma

    Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

    The database is Supabase, with Prisma as the ORM, and tRPC for frontend-backend data exchange. tRPC endpoints are built on top of Next.js API Routes and deployed as Vercel Serverless Functions. Supabase is used as a managed PostgreSQL service.

  • moyuk

    Moyuk turns TypeScript functions into web apps in a few seconds.

    Create an Issue in Moyuk's GitHub repository

  • flow-pipeline

    A set of tools and examples to run a flow-pipeline (sFlow, NetFlow)

    Cloudflare (Workers, Pages)

  • Sonar

    Write Clean JavaScript Code. Always.. Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • vercel

    Develop. Preview. Ship.

    Vercel

  • turbo

    Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turbopack and Turborepo.

    Turborepo (Monorepo)

  • ts-ast-viewer

    TypeScript AST viewer.

    TypeScript AST Viewer - This viewer was useful in guessing the internal concepts and behavior of the Compiler API.

  • supabase

    The open source Firebase alternative. Follow to stay updated about our public Beta.

    The database is Supabase, with Prisma as the ORM, and tRPC for frontend-backend data exchange. tRPC endpoints are built on top of Next.js API Routes and deployed as Vercel Serverless Functions. Supabase is used as a managed PostgreSQL service.

  • react-hook-form

    📋 React Hooks for form state management and validation (Web + React Native)

    Forms are built with the popular React Hook Form + Zod.

  • React

    The library for web and native user interfaces

    React

  • Next.js

    The React Framework

    Next.js (Application framework)

  • material-ui-docs

    ⚠️ Please don't submit PRs here as they will be closed. To edit the docs or source code, please use the main repository:

    I'm using MUI as the component library. The richness of MUI components greatly helped in quickly building the UI.

  • esm.sh

    A fast, smart, & global CDN for modern(es2015+) web development.

    Moyuk uses a CDN called esm.sh to download npm packages. esm.sh builds and distributes npm packages in ES Module format, so you can use npm packages in web-standard JS runtimes like browsers.

  • esbuild

    An extremely fast bundler for the web

    Internally, esbuild is used. Esbuild has a plugin system, and I created custom plugins to resolve import statements like npm: and https://.

  • Docusaurus

    Easy to maintain open source documentation websites.

    Docusaurus (Documentation)

  • codesandbox-client

    An online IDE for rapid web development

    First, create the iframe dynamically. Add the sandbox attribute to the iframe and serve the content loaded into the iframe from a separate domain (different origin) from moyukapp.com. This prevents any access from inside the iframe to the outside. Note that CodeSandbox also uses an iframe, but Moyuk's settings are much stricter.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts