phos 1.0.1 → 1.0.2

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/README.md CHANGED
@@ -10,7 +10,7 @@ Full-stack interactive project generator CLI
10
10
  [![Node.js Version](https://img.shields.io/node/v/phos)](https://nodejs.org)
11
11
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
12
12
 
13
- **Version 1.0.1 - Production Release** 🎉
13
+ **Version 1.0.2 - Production Release** 🎉
14
14
 
15
15
  [View on npmjs.com](https://www.npmjs.com/package/phos)
16
16
 
@@ -278,6 +278,7 @@ Contributions are welcome! Please feel free to submit a Pull Request.
278
278
 
279
279
  Phos follows [semantic versioning](https://semver.org/).
280
280
 
281
+ - **1.0.2** - Patch release (template missing fix)
281
282
  - **1.0.1** - Patch release (bug fixes)
282
283
  - **1.0.0** - Production release with full feature support
283
284
  - **1.x.0** - Minor releases (new features, non-breaking changes)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phos",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Full-stack interactive project generator CLI - Phos",
5
5
  "type": "module",
6
6
  "bin": {
@@ -40,6 +40,10 @@
40
40
  "url": "git+https://github.com/DotJumpDot/Phos.git"
41
41
  },
42
42
  "types": "./dist/cli.d.ts",
43
+ "files": [
44
+ "dist",
45
+ "src/templates"
46
+ ],
43
47
  "bugs": {
44
48
  "url": "https://github.com/DotJumpDot/Phos/issues"
45
49
  },
@@ -0,0 +1,4 @@
1
+ {
2
+ "recommendations": ["astro-build.astro-vscode"],
3
+ "unwantedRecommendations": []
4
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "command": "./node_modules/.bin/astro dev",
6
+ "name": "Development server",
7
+ "request": "launch",
8
+ "type": "node-terminal"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "files.associations": {
3
+ "*.css": "tailwindcss"
4
+ }
5
+ }
package/.eslintignore DELETED
@@ -1,3 +0,0 @@
1
- src/templates
2
- dist
3
- node_modules
package/AGENTS.md DELETED
@@ -1,172 +0,0 @@
1
- # AGENTS Guidelines for This Repository
2
-
3
- ## Project Name: Phos CLI
4
-
5
- Full-stack interactive project generator CLI that scaffolds modern web applications with configurable backends and frontends.
6
-
7
- **Version:** 1.0.0 (Production Release)
8
-
9
- ### Core Features:
10
-
11
- 1. **Interactive CLI** - Beautiful prompts using @clack/prompts
12
- 2. **Multiple Backends** - Elysia (Bun), FastAPI (Python)
13
- 3. **Multiple Frontends** - Astro, Svelte, Next.js
14
- 4. **Monorepo Support** - Workspace configuration for scalable projects
15
- 5. **Configurable Tooling** - TypeScript, ESLint, Prettier options
16
- 6. **CSS Frameworks** - Tailwind, SCSS, CSS Modules
17
- 7. **UI Components** - shadcn/ui, Radix UI
18
- 8. **Testing Support** - Vitest, Playwright
19
-
20
- ### Technology Stack:
21
-
22
- - **CLI**: Node.js + TypeScript
23
- - **CLI Framework**: Commander.js
24
- - **Interactive Prompts**: @clack/prompts
25
- - **File Operations**: fs-extra
26
- - **Template Engine**: Handlebars
27
- - **Terminal Colors**: picocolors
28
- - **Backend**: Elysia (Bun), FastAPI (Python)
29
- - **Frontend**: Astro, SvelteKit, Next.js
30
- - **Package Managers**: npm, yarn, pnpm, bun
31
-
32
- ## 1. Development Workflow
33
-
34
- ### CLI Tool (Phos)
35
-
36
- - Use Commander.js for CLI argument parsing
37
- - Use @clack/prompts for beautiful interactive UI
38
- - Use fs-extra for file system operations
39
- - Use Handlebars for template rendering
40
- - Use picocolors for terminal colors
41
-
42
- ## 2. Architecture
43
-
44
- ### Core Components
45
-
46
- ```
47
- src/
48
- ├── cli.ts # Main CLI entry point
49
- ├── generators/
50
- │ ├── monorepo.ts # Monorepo scaffold generator
51
- │ ├── single.ts # Single project generator
52
- │ ├── backends/
53
- │ │ ├── elysia.ts # Elysia (Bun) backend generator
54
- │ │ └── fastapi.ts # FastAPI (Python) backend generator
55
- │ └── frontends/
56
- │ ├── astro.ts # Astro frontend generator
57
- │ ├── svelte.ts # Svelte frontend generator
58
- │ └── nextjs.ts # Next.js frontend generator
59
- ├── templates/ # Project templates
60
- └── utils/
61
- └── helpers.ts # Helper functions
62
- ```
63
-
64
- ### File Naming Conventions
65
-
66
- | Layer | Pattern | Example |
67
- | ------------ | ---------------- | ----------------------- |
68
- | CLI Commands | `*.ts` | `cli.ts`, `monorepo.ts` |
69
- | Generators | `{framework}.ts` | `elysia.ts`, `astro.ts` |
70
- | Utils | `*.ts` | `helpers.ts` |
71
-
72
- **Rules:**
73
-
74
- - Use **PascalCase** for generator files
75
- - Use **camelCase** for utility functions
76
- - Export generators as named exports
77
-
78
- ## 3. Keep Dependencies in Sync
79
-
80
- When adding/updating packages:
81
-
82
- ```bash
83
- bun install <package>
84
- # OR
85
- npm install <package>
86
- ```
87
-
88
- ## 4. Coding Conventions
89
-
90
- ### TypeScript
91
-
92
- - Use modern TypeScript with strict mode enabled
93
- - Import using `@/` alias for internal modules
94
- - Use ES modules with `.js` extensions
95
-
96
- ### Project Templates
97
-
98
- - Use Handlebars for dynamic content
99
- - Include TypeScript/ESLint/Prettier options as needed
100
- - Generate complete project structures
101
-
102
- ## 5. Key Technologies
103
-
104
- ### CLI Framework
105
-
106
- - **Commander.js** - Command-line interface framework
107
- - **@clack/prompts** - Interactive prompts
108
- - **fs-extra** - Enhanced file system operations
109
- - **Handlebars** - Template engine
110
- - **picocolors** - Terminal colors
111
-
112
- ### Supported Backends
113
-
114
- - **Elysia** - Fast and elegant Bun web framework
115
- - **FastAPI** - Modern Python web framework
116
-
117
- ### Supported Frontends
118
-
119
- - **Astro** - Modern static site generator
120
- - **SvelteKit** - Full-stack Svelte framework
121
- - **Next.js** - React framework with server components
122
-
123
- ## 6. Configuration Options
124
-
125
- ### Backend Options
126
-
127
- - **TypeScript** - Enable/disable TypeScript
128
- - **ESLint** - Add ESLint configuration
129
- - **Prettier** - Add Prettier configuration
130
-
131
- ### Frontend Options
132
-
133
- - **TypeScript** - Enable/disable TypeScript
134
- - **ESLint** - Add ESLint configuration
135
- - **Prettier** - Add Prettier configuration
136
- - **CSS Framework** - Tailwind, SCSS, CSS Modules
137
- - **UI Components** - shadcn/ui, Radix UI
138
- - **Testing** - Vitest, Playwright, or both
139
-
140
- ## 7. Available Commands
141
-
142
- | Command | Purpose |
143
- | ------------------------- | ------------------------------ |
144
- | `bun run dev create` | Run CLI in development mode |
145
- | `bun run build` | Build TypeScript to JavaScript |
146
- | `bun run start` | Run built CLI |
147
- | `node dist/cli.js create` | Run CLI directly |
148
- | `bun link` | Link CLI globally |
149
- | `phos create` | Run CLI (after linking) |
150
-
151
- ## 8. Versioning
152
-
153
- Phos CLI follows semantic versioning:
154
-
155
- - **x.y.z (Patch/Bugfix)**: `0.0.x`, `1.0.x`, `2.0.x`
156
- - Bug fixes
157
- - Documentation updates
158
- - Small improvements
159
-
160
- - **x.y.0 (Minor/Feature)**: `0.x.0`, `1.x.0`, `2.x.0`
161
- - New features
162
- - Breaking changes (when < 1.0.0)
163
- - Significant updates
164
-
165
- - **x.0.0 (Major/Milestone)**: `1.0.0`, `2.0.0`, `3.0.0`
166
- - Major architectural changes
167
- - Complete rewrites
168
- - Production-ready releases
169
-
170
- **Current Version: 1.0.0** - Production Release
171
-
172
- See [CHANGELOG.md](CHANGELOG.md) for detailed version history.
package/CHANGELOG.md DELETED
@@ -1,202 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to Phos CLI will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
-
7
- ## [1.0.1] - 2026-02-10
8
-
9
- ### Fixed
10
-
11
- - **Path Alias Resolution**: Fixed TypeScript path alias (`@/`) not being converted to relative paths during compilation
12
- - **Module Import Error**: Fixed `ERR_MODULE_NOT_FOUND` error when running published package via `npx phos create`
13
- - **Build Process**: Added `tsc-alias` package to properly convert path aliases to relative paths
14
- - **Template Compilation**: Excluded template files from TypeScript compilation to prevent missing dependency errors
15
-
16
- ### Changed
17
-
18
- - **Build Script**: Updated build script to `tsc && tsc-alias` for proper path alias resolution
19
- - **tsconfig.json**: Added `src/templates/**/*` to exclude list to prevent template compilation errors
20
-
21
- ### Dependencies
22
-
23
- - Added `tsc-alias: ^1.8.16` to devDependencies
24
-
25
- ## [1.0.0] - 2026-02-09
26
-
27
- ### Added
28
-
29
- - **Production Release**: Phos CLI is now production-ready with full feature support
30
- - **Interactive CLI**: Beautiful command-line interface powered by @clack/prompts
31
- - **Project Types**: Support for both Monorepo and Single repository structures
32
- - **Backend Frameworks**:
33
- - Elysia - Fast and elegant Bun web framework with TypeScript support
34
- - FastAPI - Modern Python web framework with type hints
35
- - **Frontend Frameworks**:
36
- - Astro - Modern static site generator
37
- - SvelteKit - Full-stack Svelte framework
38
- - Next.js - React framework with server components and App Router
39
- - **Monorepo Features**:
40
- - Organized workspace structure with `{ProjectName}_Backend` and `{ProjectName}_Frontend` folders
41
- - `Docs/` folder with `Feature` and `DatabaseSetup` subfolders
42
- - Root-level documentation: `AGENTS.md`, `LICENSE`, `env.example`
43
- - Independent project configurations without workspace dependencies
44
- - **Single Project Mode**: Generate standalone backend or frontend projects
45
- - **Package Manager Support**:
46
- - Node.js: npm, yarn, pnpm, bun
47
- - Python: venv (virtual environment), pip (system)
48
- - **Configurable Tooling**:
49
- - TypeScript support for backend (Elysia only) and frontend frameworks
50
- - ESLint configuration with custom rules
51
- - Prettier code formatting
52
- - **CSS Framework Options**: Tailwind CSS, SCSS, CSS Modules, or no framework
53
- - **UI Component Libraries**: shadcn/ui, Radix UI, or no components
54
- - **Testing Frameworks**: Vitest, Playwright, or both for unit and E2E testing
55
- - **Git Integration**: Optional Git repository initialization
56
- - **Dependency Installation**: Optional automatic dependency installation
57
- - **Template System**: Handlebars-based template engine with dynamic configuration
58
- - **Binary File Support**: Proper handling of images, fonts, and other binary files
59
- - **Helper Functions**:
60
- - `eq` helper for equality checks in templates
61
- - `or` helper for OR conditions in templates
62
- - **Configuration Summary**: Interactive summary display before project generation
63
- - **Project Validation**: Directory existence checks and project name validation
64
- - **Complete Documentation**: Auto-generated README.md, AGENTS.md, and schema docs
65
-
66
- ### Fixed
67
-
68
- - **Binary File Handling**: Fixed `copyTemplate` function to properly handle binary files
69
- - **Template Processing**: Binary files (PNG, JPG, fonts, archives) are now copied directly without Handlebars processing
70
- - **Error Handling**: Improved error messages and cancellation handling throughout the CLI
71
-
72
- ### Changed
73
-
74
- - **Monorepo Structure**: Updated from `apps/backend` and `apps/frontend` to capitalized `{ProjectName}_Backend` and `{ProjectName}_Frontend`
75
- - **Folder Naming**: Backend and frontend folder names now have capitalized first letters
76
- - **Default Configuration**: TypeScript, ESLint, and Prettier now default to `true`
77
- - **User Experience**: Users must manually deselect options they don't want instead of selecting them
78
-
79
- ### Dependencies
80
-
81
- - @clack/prompts: ^1.0.0
82
- - commander: ^14.0.2
83
- - fs-extra: ^11.3.3
84
- - handlebars: ^4.7.8
85
- - picocolors: ^1.1.1
86
- - typescript: ^5.7.3
87
- - tsx: ^4.19.2 (dev)
88
- - @types/fs-extra: ^11.0.4 (dev)
89
- - @types/node: ^20.11.0 (dev)
90
-
91
- ### Project Structure
92
-
93
- ```
94
- phos/
95
- ├── src/
96
- │ ├── cli.ts # Main CLI entry point
97
- │ ├── generators/
98
- │ │ ├── monorepo.ts # Monorepo generator
99
- │ │ ├── single.ts # Single project generator
100
- │ │ ├── backends/
101
- │ │ │ ├── elysia.ts # Elysia backend generator
102
- │ │ │ └── fastapi.ts # FastAPI backend generator
103
- │ │ └── frontends/
104
- │ │ ├── astro.ts # Astro frontend generator
105
- │ │ ├── svelte.ts # Svelte frontend generator
106
- │ │ └── nextjs.ts # Next.js frontend generator
107
- │ ├── templates/ # Project templates
108
- │ │ ├── backend/
109
- │ │ │ ├── elysia/ # Elysia template files
110
- │ │ │ └── fastapi/ # FastAPI template files
111
- │ │ └── frontend/
112
- │ │ ├── astro/ # Astro template files
113
- │ │ ├── nextjs/ # Next.js template files
114
- │ │ └── svelte/ # Svelte template files
115
- │ └── utils/
116
- │ └── helpers.ts # Helper functions
117
- ├── package.json # Package configuration
118
- ├── tsconfig.json # TypeScript configuration
119
- ├── .gitignore # Git ignore rules
120
- ├── AGENTS.md # Project guidelines
121
- ├── CHANGELOG.md # Version history
122
- └── README.md # Documentation
123
- ```
124
-
125
- ## [0.3.0] - 2026-02-09
126
-
127
- ### Changed
128
-
129
- - **Monorepo Structure Update**:
130
- - Changed from `apps/backend` and `apps/frontend` to `{ProjectName}_Backend` and `{ProjectName}_Frontend`
131
- - Added `Docs` folder with `Feature` and `DatabaseSetup` subfolders
132
- - Added root level files: `AGENTS.md`, `LICENSE`, `env.example`
133
- - Removed root `package.json` and workspace config files
134
- - Each project now manages its own configurations independently
135
- - **Folder Naming**:
136
- - Backend and frontend folder names now have capitalized first letter
137
- - Example: `Colorful_Backend` and `Colorful_Frontend` instead of `colorful_Backend`
138
- - **Default Configuration**:
139
- - TypeScript, ESLint, and Prettier now default to `true`
140
- - Users must manually deselect options they don't want
141
-
142
- ### Fixed
143
-
144
- - **Binary File Handling**:
145
- - Fixed `copyTemplate` function to properly handle binary files
146
- - Binary files (PNG, JPG, fonts, archives, etc.) are now copied directly
147
- - No longer attempts to process binary files as Handlebars templates
148
- - Fixes "IHDR" error when copying image files
149
-
150
- ## [0.2.0] - 2025-02-09
151
-
152
- ### Changed
153
-
154
- - **Template System Refactor**:
155
- - All generators now use template files instead of dynamic generation
156
- - Handlebars templating with conditional logic
157
- - Dynamic configuration support (projectName, projectType, tooling options)
158
- - Clean separation between generators and templates
159
- - **Template Structure**:
160
- - Backend templates: Elysia, FastAPI with full project structures
161
- - Frontend templates: Astro, Svelte, Next.js with proper configs
162
- - All templates use Handlebars variables for customization
163
- - **Helper Functions**:
164
- - `eq` helper for equality checks in templates
165
- - `or` helper for OR conditions in templates
166
- - `copyTemplate` function for template copying and rendering
167
- - **ESLint Configuration**:
168
- - Added `.eslintignore` to exclude template folder
169
- - Prevents false positives from Handlebars syntax in templates
170
-
171
- ## [0.1.0] - 2025-02-09
172
-
173
- ### Added
174
-
175
- - **Initial Release**: Complete project generator CLI
176
- - Interactive prompts using @clack/prompts
177
- - Multiple backend frameworks (Elysia, FastAPI)
178
- - Multiple frontend frameworks (Astro, Svelte, Next.js)
179
- - Monorepo and single project support
180
- - Configurable tooling (TypeScript, ESLint, Prettier)
181
- - CSS framework options (Tailwind, SCSS, CSS Modules)
182
- - UI component library support (shadcn/ui, Radix UI)
183
- - Testing framework options (Vitest, Playwright)
184
- - Multiple package manager support (npm, yarn, pnpm, bun)
185
- - **Project Structure**:
186
- - Well-organized codebase with generators, templates, and utilities
187
- - TypeScript path aliases configured (@/\*)
188
- - Comprehensive documentation (AGENTS.md, CHANGELOG.md, README.md)
189
- - **Configuration**:
190
- - TypeScript strict mode enabled
191
- - Module resolution set to bundler
192
- - Path aliases for clean imports
193
- - **Dependencies Updated**:
194
- - @clack/prompts: ^0.7.0 → ^1.0.0
195
- - commander: ^12.0.0 → ^14.0.3
196
- - fs-extra: ^11.2.0 → ^11.3.3
197
- - handlebars: ^4.7.8 (unchanged)
198
- - picocolors: ^1.0.0 → ^1.1.1
199
- - tsx: ^4.7.0 → ^4.19.2
200
- - typescript: ^5.3.0 → ^5.7.3
201
- - @types/fs-extra: ^11.0.4 (unchanged)
202
- - @types/node: ^20.11.0 (kept for Node 20 compatibility)
package/bun.lock DELETED
@@ -1,125 +0,0 @@
1
- {
2
- "lockfileVersion": 1,
3
- "configVersion": 1,
4
- "workspaces": {
5
- "": {
6
- "name": "phos",
7
- "dependencies": {
8
- "@clack/prompts": "^1.0.0",
9
- "commander": "^14.0.2",
10
- "fs-extra": "^11.3.3",
11
- "handlebars": "^4.7.8",
12
- "picocolors": "^1.1.1",
13
- },
14
- "devDependencies": {
15
- "@types/fs-extra": "^11.0.4",
16
- "@types/node": "^20.11.0",
17
- "tsx": "^4.19.2",
18
- "typescript": "^5.7.3",
19
- },
20
- },
21
- },
22
- "packages": {
23
- "@clack/core": ["@clack/core@1.0.0", "", { "dependencies": { "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-Orf9Ltr5NeiEuVJS8Rk2XTw3IxNC2Bic3ash7GgYeA8LJ/zmSNpSQ/m5UAhe03lA6KFgklzZ5KTHs4OAMA/SAQ=="],
24
-
25
- "@clack/prompts": ["@clack/prompts@1.0.0", "", { "dependencies": { "@clack/core": "1.0.0", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-rWPXg9UaCFqErJVQ+MecOaWsozjaxol4yjnmYcGNipAWzdaWa2x+VJmKfGq7L0APwBohQOYdHC+9RO4qRXej+A=="],
26
-
27
- "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.3", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg=="],
28
-
29
- "@esbuild/android-arm": ["@esbuild/android-arm@0.27.3", "", { "os": "android", "cpu": "arm" }, "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA=="],
30
-
31
- "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.3", "", { "os": "android", "cpu": "arm64" }, "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg=="],
32
-
33
- "@esbuild/android-x64": ["@esbuild/android-x64@0.27.3", "", { "os": "android", "cpu": "x64" }, "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ=="],
34
-
35
- "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg=="],
36
-
37
- "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg=="],
38
-
39
- "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w=="],
40
-
41
- "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA=="],
42
-
43
- "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.3", "", { "os": "linux", "cpu": "arm" }, "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw=="],
44
-
45
- "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg=="],
46
-
47
- "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.3", "", { "os": "linux", "cpu": "ia32" }, "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg=="],
48
-
49
- "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA=="],
50
-
51
- "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw=="],
52
-
53
- "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA=="],
54
-
55
- "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.3", "", { "os": "linux", "cpu": "none" }, "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ=="],
56
-
57
- "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw=="],
58
-
59
- "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.3", "", { "os": "linux", "cpu": "x64" }, "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA=="],
60
-
61
- "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.3", "", { "os": "none", "cpu": "arm64" }, "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA=="],
62
-
63
- "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.3", "", { "os": "none", "cpu": "x64" }, "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA=="],
64
-
65
- "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.3", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw=="],
66
-
67
- "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.3", "", { "os": "openbsd", "cpu": "x64" }, "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ=="],
68
-
69
- "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.3", "", { "os": "none", "cpu": "arm64" }, "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g=="],
70
-
71
- "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.3", "", { "os": "sunos", "cpu": "x64" }, "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA=="],
72
-
73
- "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA=="],
74
-
75
- "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q=="],
76
-
77
- "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.3", "", { "os": "win32", "cpu": "x64" }, "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA=="],
78
-
79
- "@types/fs-extra": ["@types/fs-extra@11.0.4", "", { "dependencies": { "@types/jsonfile": "*", "@types/node": "*" } }, "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ=="],
80
-
81
- "@types/jsonfile": ["@types/jsonfile@6.1.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ=="],
82
-
83
- "@types/node": ["@types/node@20.19.33", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw=="],
84
-
85
- "commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="],
86
-
87
- "esbuild": ["esbuild@0.27.3", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.3", "@esbuild/android-arm": "0.27.3", "@esbuild/android-arm64": "0.27.3", "@esbuild/android-x64": "0.27.3", "@esbuild/darwin-arm64": "0.27.3", "@esbuild/darwin-x64": "0.27.3", "@esbuild/freebsd-arm64": "0.27.3", "@esbuild/freebsd-x64": "0.27.3", "@esbuild/linux-arm": "0.27.3", "@esbuild/linux-arm64": "0.27.3", "@esbuild/linux-ia32": "0.27.3", "@esbuild/linux-loong64": "0.27.3", "@esbuild/linux-mips64el": "0.27.3", "@esbuild/linux-ppc64": "0.27.3", "@esbuild/linux-riscv64": "0.27.3", "@esbuild/linux-s390x": "0.27.3", "@esbuild/linux-x64": "0.27.3", "@esbuild/netbsd-arm64": "0.27.3", "@esbuild/netbsd-x64": "0.27.3", "@esbuild/openbsd-arm64": "0.27.3", "@esbuild/openbsd-x64": "0.27.3", "@esbuild/openharmony-arm64": "0.27.3", "@esbuild/sunos-x64": "0.27.3", "@esbuild/win32-arm64": "0.27.3", "@esbuild/win32-ia32": "0.27.3", "@esbuild/win32-x64": "0.27.3" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg=="],
88
-
89
- "fs-extra": ["fs-extra@11.3.3", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg=="],
90
-
91
- "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
92
-
93
- "get-tsconfig": ["get-tsconfig@4.13.6", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw=="],
94
-
95
- "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="],
96
-
97
- "handlebars": ["handlebars@4.7.8", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ=="],
98
-
99
- "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="],
100
-
101
- "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
102
-
103
- "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
104
-
105
- "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
106
-
107
- "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="],
108
-
109
- "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
110
-
111
- "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
112
-
113
- "tsx": ["tsx@4.21.0", "", { "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw=="],
114
-
115
- "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
116
-
117
- "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="],
118
-
119
- "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
120
-
121
- "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="],
122
-
123
- "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="],
124
- }
125
- }