Skip to content

Tools & Templates for Fullstack Development with Node.js, React.js, Astro.js, Next.js, Hono.js, and more.

License

Notifications You must be signed in to change notification settings

VienDinhCom/esmate

Repository files navigation

ESMate

Tools & Templates for Fullstack Development with Node.js, React, Astro, Next.js, Hono, and more.

Get Started

npx create-esmate

Packages

  • esmate — A CLI inspired by Deno to simplify modern JavaScript development.
  • create-esmate — Scaffolding tool to quickly create applications and libraries with ESMate.
  • @esmate/eslint — ESLint configuration for humans.
  • @esmate/prettier — Prettier configuration for humans.
  • @esmate/react — React components, hooks, and styles in one package.
  • @esmate/shadcn — Shadcn components, hooks, and styles in one package.

Templates

  • react-spa — A React Starter for Single Page Applications Powered by TanStack Router.
  • react-astro — A React Starter for Full Stack Applications Powered by Astro & TanStack.

Why ESMate?

Why does every new JavaScript or TypeScript project feel like an immediate battle against boilerplate?

We’re developers, we just want to code, yet our initial ritual is always the same: install Prettier, configure ESLint, wrangle Tailwind, and then try to stitch together React, Vue, Svelte, or Astro—each framework adding its own unique layer of configuration hell. Before writing a single line of business logic, we're scripting elaborate, chained commands just to get a basic environment running.

Is this complexity a feature, or are we just repeating patterns because "that's how it's always been done"?

We’ve seen the promise of a simpler world. Deno offered a tantalizing glimpse of a frictionless environment where sensible defaults reign and configuration is minimal.

But let’s be honest: Node.js isn't going anywhere. Its massive ecosystem and legacy are our present reality, and wishing the chaos away is a fantasy. The practical path forward isn't fighting the ecosystem; it's taming it.

Instead of resigning ourselves to endless boilerplate, I built ESMate.

It's my practical answer to one crucial question: "How can we make modern JavaScript development as frictionless as possible, even in a Node.js world?"

ESMate isn't a new runtime; it's a smart layer that bundles the essentials, automatically smoothing over the rough edges of toolchains and configuration. It embraces modern ES Modules (ESM) standards while insulating you from the typical setup headaches.

ESMate lets you skip the ritual and jump straight to the work that matters—building.

That, to me, is a solution worth believing in.