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 +2 -1
- package/package.json +5 -1
- package/src/templates/frontend/astro/.vscode/extensions.json +4 -0
- package/src/templates/frontend/astro/.vscode/launch.json +11 -0
- package/src/templates/frontend/svelte/.vscode/settings.json +5 -0
- package/.eslintignore +0 -3
- package/AGENTS.md +0 -172
- package/CHANGELOG.md +0 -202
- package/bun.lock +0 -125
- package/src/cli.ts +0 -500
- package/src/generators/backends/elysia.ts +0 -45
- package/src/generators/backends/fastapi.ts +0 -71
- package/src/generators/frontends/astro.ts +0 -37
- package/src/generators/frontends/nextjs.ts +0 -37
- package/src/generators/frontends/svelte.ts +0 -38
- package/src/generators/monorepo.ts +0 -529
- package/src/generators/single.ts +0 -465
- package/src/utils/helpers.ts +0 -198
- package/tsconfig.json +0 -24
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Full-stack interactive project generator CLI
|
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](http://makeapullrequest.com)
|
|
12
12
|
|
|
13
|
-
**Version 1.0.
|
|
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.
|
|
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
|
},
|
package/.eslintignore
DELETED
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
|
-
}
|