@jatinmourya/ng-init 1.1.0 → 1.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jatinmourya/ng-init",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "main": "src/index.js",
5
5
  "description": "A comprehensive CLI tool to automate Angular project initialization with intelligent version management and prerequisite handling",
6
6
  "scripts": {
package/CHANGELOG.md DELETED
@@ -1,152 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.1.0] - 2026-01-31
9
-
10
- ### Added
11
- - **Dynamic Library Version Resolution** - Automatically resolves compatible library versions based on Angular version
12
- - **npm Registry Integration** - Real-time fetching of package peer dependencies for compatibility checking
13
- - **Intelligent Version Matching** - For Angular-scoped packages (`@angular/*`, `@ngrx/*`), automatically matches major versions
14
- - **Compatibility Warnings** - Displays warnings for potentially incompatible library versions
15
- - **Package Caching** - 5-minute cache for npm registry responses to improve performance
16
- - **Three-step Angular Version Selection** - Select major → minor → patch versions interactively
17
-
18
- ### Changed
19
- - Updated version to 1.1.0
20
- - Improved library installation process with resolved versions display
21
- - Enhanced compatibility checking with semver validation
22
- - Updated CLI banner to show version 1.1.0
23
-
24
- ### Fixed
25
- - Library versions now properly resolve for Angular compatibility instead of defaulting to 'latest'
26
- - Improved error handling in npm registry requests
27
-
28
- ---
29
-
30
- ## [1.0.0] - 2026-01-30
31
-
32
- ### Added
33
-
34
- #### Core Features
35
- - System environment check displaying Node.js, npm, nvm, and Angular CLI versions
36
- - Interactive Angular version selection from npm registry
37
- - Node.js compatibility checking with selected Angular version
38
- - Smart Node version management with nvm support
39
- - Node.js installation assistant for systems without nvm
40
- - Project location configuration (current or custom directory)
41
- - Complete project initialization with Angular CLI
42
-
43
- #### Advanced Features
44
- - Pre-configured project templates (Basic, Enterprise, PWA, Material, Testing, Standalone)
45
- - Interactive library search with npm registry autocomplete
46
- - Real-time package validation and metadata display
47
- - Popular library bundles (UI Framework, State Management, Forms, Testing, etc.)
48
- - Configuration presets (TypeScript strict mode, ESLint, Prettier, Husky)
49
- - Automatic project structure generation (core, shared, features folders)
50
- - Git repository initialization with .gitignore
51
- - Documentation generation (README.md, CHANGELOG.md)
52
- - Profile management system (save, load, export, import configurations)
53
-
54
- #### CLI Commands
55
- - `ng-init` - Main interactive project creation
56
- - `ng-init create` - Alias for main command
57
- - `ng-init check` - System version check
58
- - `ng-init profile list` - List saved profiles
59
- - `ng-init profile show <name>` - Show profile details
60
- - `ng-init profile delete <name>` - Delete a profile
61
- - `ng-init profile export <name> <output>` - Export profile to file
62
- - `ng-init profile import <file>` - Import profile from file
63
- - `ng-init examples` - Show usage examples
64
-
65
- #### Utility Modules
66
- - Version checker for system components
67
- - npm registry search and validation
68
- - Compatibility checking and resolution
69
- - Package installation management
70
- - Interactive prompt handlers
71
- - File operations and utilities
72
- - Profile management system
73
-
74
- #### Templates & Bundles
75
- - 6 pre-configured project templates
76
- - 8 popular library bundles
77
- - 3 configuration presets
78
- - Standard and domain-driven project structures
79
- - Git configuration templates
80
- - Documentation templates
81
-
82
- ### Technical Details
83
-
84
- #### Dependencies
85
- - @inquirer/prompts: ^7.10.1
86
- - axios: ^1.6.5
87
- - chalk: ^5.3.0
88
- - commander: ^13.1.0
89
- - execa: ^9.6.1
90
- - inquirer: ^9.2.12
91
- - inquirer-autocomplete-prompt: ^3.0.1
92
- - lodash.debounce: ^4.0.8
93
- - ora: ^8.0.1
94
- - semver: ^7.5.4
95
-
96
- #### Supported Platforms
97
- - Windows (with nvm-windows support)
98
- - macOS (with nvm support)
99
- - Linux (with nvm support)
100
-
101
- #### Node.js Requirements
102
- - Minimum: Node.js v18.0.0
103
- - Recommended: Node.js v18.19.0 or v20.11.0 (LTS)
104
-
105
- ### Documentation
106
- - Comprehensive README.md with usage examples
107
- - Detailed PROJECT_DOCUMENTATION.md with architecture
108
- - CONTRIBUTING.md with contribution guidelines
109
- - LICENSE (MIT)
110
-
111
- ### Initial Release Notes
112
-
113
- This is the initial release of Angular Project Automator, a comprehensive CLI tool designed to streamline Angular project initialization with:
114
-
115
- - **80% reduction** in project setup time
116
- - **Zero environment errors** with guided Node.js version management
117
- - **Intelligent library search** with npm registry integration
118
- - **Reusable profiles** for team standardization
119
- - **Best practices** built-in with pre-configured templates
120
-
121
- The tool automates the entire project setup process, from checking system prerequisites to creating a fully-configured Angular project with all necessary libraries and tooling.
122
-
123
- ### Known Limitations
124
-
125
- - Windows: Direct Node.js installation requires winget
126
- - Network required for npm registry access
127
- - Some features require nvm for full functionality
128
-
129
- ### Future Plans
130
-
131
- #### Phase 2 (Planned)
132
- - Enhanced library bundles
133
- - More project templates
134
- - Additional configuration presets
135
- - Improved documentation generation
136
-
137
- #### Phase 3 (Planned)
138
- - Advanced Git integration
139
- - Enhanced profile management
140
- - Migration assistant
141
- - Multi-language support
142
-
143
- #### Phase 4 (Planned)
144
- - Dashboard/Analytics
145
- - Update notifications
146
- - Cloud sync features
147
- - Team collaboration features
148
-
149
- ---
150
-
151
- [1.1.0]: https://github.com/jatinmourya/ng-init/releases/tag/v1.1.0
152
- [1.0.0]: https://github.com/jatinmourya/ng-init/releases/tag/v1.0.0
package/CONTRIBUTING.md DELETED
@@ -1,220 +0,0 @@
1
- # Contributing to Angular Project Automator
2
-
3
- Thank you for your interest in contributing to Angular Project Automator! This document provides guidelines and instructions for contributing.
4
-
5
- ## 🌟 How to Contribute
6
-
7
- ### Reporting Bugs
8
-
9
- If you find a bug, please create an issue on GitHub with the following information:
10
-
11
- - **Description**: Clear description of the bug
12
- - **Steps to Reproduce**: Step-by-step instructions
13
- - **Expected Behavior**: What should happen
14
- - **Actual Behavior**: What actually happens
15
- - **Environment**: OS, Node.js version, npm version
16
- - **Screenshots**: If applicable
17
-
18
- ### Suggesting Features
19
-
20
- We welcome feature suggestions! Please create an issue with:
21
-
22
- - **Feature Description**: Clear description of the feature
23
- - **Use Case**: Why this feature would be useful
24
- - **Proposed Implementation**: If you have ideas on how to implement it
25
- - **Examples**: Similar features in other tools
26
-
27
- ### Pull Requests
28
-
29
- 1. **Fork the Repository**
30
- ```bash
31
- git clone https://github.com/jatinmourya/ng-init.git
32
- cd ng-init
33
- ```
34
-
35
- 2. **Create a Branch**
36
- ```bash
37
- git checkout -b feature/your-feature-name
38
- ```
39
-
40
- 3. **Make Your Changes**
41
- - Write clean, readable code
42
- - Follow existing code style
43
- - Add comments for complex logic
44
- - Update documentation if needed
45
-
46
- 4. **Test Your Changes**
47
- ```bash
48
- npm link
49
- ng-init
50
- ```
51
-
52
- 5. **Commit Your Changes**
53
- ```bash
54
- git add .
55
- git commit -m "Add: feature description"
56
- ```
57
-
58
- Commit message format:
59
- - `Add:` for new features
60
- - `Fix:` for bug fixes
61
- - `Update:` for updates to existing features
62
- - `Docs:` for documentation changes
63
- - `Refactor:` for code refactoring
64
-
65
- 6. **Push to Your Fork**
66
- ```bash
67
- git push origin feature/your-feature-name
68
- ```
69
-
70
- 7. **Create Pull Request**
71
- - Go to the original repository
72
- - Click "New Pull Request"
73
- - Select your branch
74
- - Fill in the PR template
75
-
76
- ## 📝 Code Style Guidelines
77
-
78
- ### JavaScript/Node.js
79
-
80
- - Use ES6+ syntax
81
- - Use `import`/`export` for modules
82
- - Use `async`/`await` for asynchronous operations
83
- - Use meaningful variable and function names
84
- - Add JSDoc comments for functions
85
- - Keep functions small and focused
86
-
87
- ### Example:
88
-
89
- ```javascript
90
- /**
91
- * Get package details from npm registry
92
- * @param {string} packageName - The name of the package
93
- * @returns {Promise<Object|null>} Package details or null if not found
94
- */
95
- export async function getPackageDetails(packageName) {
96
- try {
97
- const response = await axios.get(`${NPM_REGISTRY_URL}/${packageName}`);
98
- return response.data;
99
- } catch (error) {
100
- return null;
101
- }
102
- }
103
- ```
104
-
105
- ### File Organization
106
-
107
- - Place utilities in `src/utils/`
108
- - Place templates in `src/templates/`
109
- - Place command handlers in `src/commands/` (if applicable)
110
- - Keep related functionality together
111
-
112
- ## 🧪 Testing
113
-
114
- Before submitting a PR:
115
-
116
- 1. Test the main flow:
117
- ```bash
118
- ng-init
119
- ```
120
-
121
- 2. Test all commands:
122
- ```bash
123
- ng-init check
124
- ng-init profile list
125
- ng-init examples
126
- ```
127
-
128
- 3. Test edge cases:
129
- - Invalid inputs
130
- - Network errors
131
- - Missing dependencies
132
-
133
- ## 📚 Documentation
134
-
135
- - Update README.md if you add features
136
- - Update PROJECT_DOCUMENTATION.md for architectural changes
137
- - Add inline comments for complex code
138
- - Update examples if behavior changes
139
-
140
- ## 🎯 Areas We Need Help With
141
-
142
- - **Templates**: More project templates
143
- - **Bundles**: Additional library bundles
144
- - **Testing**: Unit tests and integration tests
145
- - **Documentation**: Better examples and guides
146
- - **Platform Support**: Better support for Linux/macOS
147
- - **Performance**: Optimization and caching (✅ npm caching added in v1.1.0)
148
- - **UI/UX**: Better interactive prompts
149
- - **Version Resolution**: Enhanced library compatibility algorithms
150
-
151
- ## 🆕 Recent Updates (v1.1.0)
152
-
153
- The following features were added in v1.1.0:
154
- - Dynamic library version resolution
155
- - npm registry peer dependency checking
156
- - Package response caching
157
- - Compatibility warnings display
158
- - Three-step Angular version selection
159
-
160
- ## 🔍 Code Review Process
161
-
162
- 1. PRs will be reviewed by maintainers
163
- 2. Feedback will be provided as comments
164
- 3. Make requested changes
165
- 4. Once approved, PR will be merged
166
-
167
- ## 📋 Development Setup
168
-
169
- 1. **Clone the repository**
170
- ```bash
171
- git clone https://github.com/jatinmourya/ng-init.git
172
- cd ng-init
173
- ```
174
-
175
- 2. **Install dependencies**
176
- ```bash
177
- npm install
178
- ```
179
-
180
- 3. **Link for local testing**
181
- ```bash
182
- npm link
183
- ```
184
-
185
- 4. **Test the CLI**
186
- ```bash
187
- ng-init
188
- ```
189
-
190
- 5. **Unlink when done**
191
- ```bash
192
- npm unlink -g ng-init
193
- ```
194
-
195
- ## 🐛 Debugging
196
-
197
- Add debug logs:
198
- ```javascript
199
- console.log(chalk.yellow('[DEBUG]'), 'Your debug message', variable);
200
- ```
201
-
202
- Run with verbose output to see all logs.
203
-
204
- ## 📜 License
205
-
206
- By contributing, you agree that your contributions will be licensed under the MIT License.
207
-
208
- ## 💬 Questions?
209
-
210
- - Create an issue for questions
211
- - Join discussions in GitHub Discussions
212
- - Contact maintainers directly for sensitive issues
213
-
214
- ## 🙏 Thank You!
215
-
216
- Your contributions make this project better for everyone. Thank you for taking the time to contribute!
217
-
218
- ---
219
-
220
- **Happy Contributing! 🚀**