create-esa-stack 0.1.12 โ†’ 0.1.13

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/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.1.13] - 2026-02-06
9
+
10
+ ### Added
11
+ - **Zod**: Added optional integration for Zod (TypeScript-first schema validation). Installs `zod`.
12
+
13
+ ### Removed
14
+ - **RxDB**: Removed RxDB from the stack.
15
+
8
16
  ## [0.1.12] - 2026-01-28
9
17
 
10
18
  ### Added
package/README.md CHANGED
@@ -26,7 +26,7 @@ During setup, you can interactively choose to add:
26
26
  - ๐Ÿ“ง **Resend** - The best API for sending emails.
27
27
  - โœ‰๏ธ **React Email** - Build emails using React components.
28
28
  - โšก **Supabase** - Open Source Firebase alternative (Auth, DB, Realtime).
29
- - ๐Ÿ”„ **RxDB** - Local-first, NoSQL database for JavaScript.
29
+ - ๐Ÿงฉ **Zod** - TypeScript-first schema validation with static type inference.
30
30
  - ๐Ÿงช **Testing Tools** - Vitest & React Testing Library (Unit/Integration testing).
31
31
  - ๐Ÿ“š **Storybook** - Frontend workshop for UI development (Includes testing setup).
32
32
 
@@ -71,7 +71,7 @@ The CLI will guide you through the setup:
71
71
  - *Install Resend?* (Default: No)
72
72
  - *Install React Email?* (Default: No)
73
73
  - *Install Supabase?* (Default: Yes)
74
- - *Install RxDB?* (Default: No)
74
+ - *Install Zod?* (Default: Yes)
75
75
  - *Install Storybook?* (Default: No)
76
76
  - *If Yes*: Sets up Storybook environment.
77
77
  - *If No*: Asks to install *Testing Tools (Vitest)* separately.
@@ -94,7 +94,7 @@ pnpm create esa-stack <project-name> [options]
94
94
  | `--resend` / `--no-resend` | Install Resend | No |
95
95
  | `--react-email` / `--no-react-email` | Install React Email | No |
96
96
  | `--supabase` / `--no-supabase` | Install Supabase | Yes |
97
- | `--rxdb` / `--no-rxdb` | Install RxDB | No |
97
+ | `--zod` / `--no-zod` | Install Zod | Yes |
98
98
  | `--storybook` / `--no-storybook` | Install Storybook | No |
99
99
  | `--testing` / `--no-testing` | Install Vitest + RTL | Yes |
100
100
  | `--default`, `-y` | Skip prompts and use defaults | - |
package/dist/cli.js CHANGED
@@ -2775,7 +2775,7 @@ function getVersion() {
2775
2775
  async function main() {
2776
2776
  const program2 = new Command;
2777
2777
  const version = getVersion();
2778
- program2.name("create-esa-stack").description("CLI tool to scaffold Next.js projects with ESA's preferred tech stack").version(version).argument("[project-name]", "Name of the project directory").option("--shadcn", "Install shadcn/ui").option("--no-shadcn", "Do not install shadcn/ui").option("--tanstack-query", "Install TanStack Query").option("--no-tanstack-query", "Do not install TanStack Query").option("--next-third-parties", "Install @next/third-parties").option("--no-next-third-parties", "Do not install @next/third-parties").option("--resend", "Install Resend").option("--no-resend", "Do not install Resend").option("--react-email", "Install React Email").option("--no-react-email", "Do not install React Email").option("--supabase", "Install Supabase").option("--no-supabase", "Do not install Supabase").option("--storybook", "Install Storybook").option("--no-storybook", "Do not install Storybook").option("--testing", "Install Testing tools (Vitest + RTL)").option("--no-testing", "Do not install Testing tools").option("--rxdb", "Install RxDB").option("--no-rxdb", "Do not install RxDB").option("-y, --default", "Skip prompts and use default values").parse(process.argv);
2778
+ program2.name("create-esa-stack").description("CLI tool to scaffold Next.js projects with ESA's preferred tech stack").version(version).argument("[project-name]", "Name of the project directory").option("--shadcn", "Install shadcn/ui").option("--no-shadcn", "Do not install shadcn/ui").option("--tanstack-query", "Install TanStack Query").option("--no-tanstack-query", "Do not install TanStack Query").option("--next-third-parties", "Install @next/third-parties").option("--no-next-third-parties", "Do not install @next/third-parties").option("--resend", "Install Resend").option("--no-resend", "Do not install Resend").option("--react-email", "Install React Email").option("--no-react-email", "Do not install React Email").option("--supabase", "Install Supabase").option("--no-supabase", "Do not install Supabase").option("--storybook", "Install Storybook").option("--no-storybook", "Do not install Storybook").option("--testing", "Install Testing tools (Vitest + RTL)").option("--no-testing", "Do not install Testing tools").option("--zod", "Install Zod").option("--no-zod", "Do not install Zod").option("-y, --default", "Skip prompts and use default values").parse(process.argv);
2779
2779
  const options = program2.opts();
2780
2780
  const [cliProjectName] = program2.args;
2781
2781
  const useDefaults = !!options.default;
@@ -2840,7 +2840,7 @@ async function main() {
2840
2840
  const installResend = await resolveOption(options.resend, false, "Do you want to install Resend?");
2841
2841
  const installReactEmail = await resolveOption(options.reactEmail, false, "Do you want to install React Email?");
2842
2842
  const installSupabase = await resolveOption(options.supabase, true, "Do you want to install Supabase?");
2843
- const installRxDB = await resolveOption(options.rxdb, false, "Do you want to install RxDB?");
2843
+ const installZod = await resolveOption(options.zod, true, "Do you want to install Zod?");
2844
2844
  const installStorybook = await resolveOption(options.storybook, false, "Do you want to install Storybook?");
2845
2845
  let installTesting = false;
2846
2846
  if (installStorybook) {
@@ -2925,16 +2925,16 @@ Setting up Supabase...`);
2925
2925
  console.log("Installing supabase CLI...");
2926
2926
  execSync("pnpm add supabase -D -E", { stdio: "inherit", cwd: projectPath });
2927
2927
  }
2928
- if (installRxDB) {
2928
+ if (installZod) {
2929
2929
  console.log(`
2930
- Setting up RxDB...`);
2930
+ Setting up Zod...`);
2931
2931
  const hasNodeModules = existsSync(join(projectPath, "node_modules"));
2932
2932
  if (!hasNodeModules) {
2933
2933
  console.log("Installing dependencies...");
2934
2934
  execSync("pnpm install", { stdio: "inherit", cwd: projectPath });
2935
2935
  }
2936
- console.log("Installing rxdb and rxjs...");
2937
- execSync("pnpm add rxdb rxjs", { stdio: "inherit", cwd: projectPath });
2936
+ console.log("Installing zod...");
2937
+ execSync("pnpm add zod", { stdio: "inherit", cwd: projectPath });
2938
2938
  }
2939
2939
  if (installTesting) {
2940
2940
  console.log(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-esa-stack",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "CLI tool to scaffold Next.js projects with esa's preferred tech stack",
5
5
  "type": "module",
6
6
  "bin": {