@jatinmourya/ng-init 1.0.0
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 +129 -0
- package/CONTRIBUTING.md +210 -0
- package/IMPLEMENTATION_SUMMARY.md +411 -0
- package/INSTALLATION.md +375 -0
- package/LICENSE +21 -0
- package/PROJECT_DOCUMENTATION.md +384 -0
- package/QUICK_START.md +252 -0
- package/README.md +300 -0
- package/package.json +56 -0
- package/src/index.js +152 -0
- package/src/runner.js +574 -0
- package/src/templates/templates.js +403 -0
- package/src/utils/compatibility.js +333 -0
- package/src/utils/file-utils.js +232 -0
- package/src/utils/installer.js +247 -0
- package/src/utils/npm-search.js +354 -0
- package/src/utils/profile-manager.js +219 -0
- package/src/utils/prompt-handler.js +393 -0
- package/src/utils/version-checker.js +169 -0
package/README.md
ADDED
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
# Angular Project Automator š
|
|
2
|
+
|
|
3
|
+
A comprehensive command-line interface (CLI) tool designed to automate and streamline the initialization of Angular projects with intelligent version management, interactive library search, and comprehensive prerequisite handling.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/ng-init)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## ⨠Features
|
|
9
|
+
|
|
10
|
+
### Core Features
|
|
11
|
+
|
|
12
|
+
- **š System Environment Check** - Displays Node.js, npm, nvm, and Angular CLI versions before starting
|
|
13
|
+
- **š¦ Angular Version Selection** - Fetches and displays all available Angular versions from npm registry
|
|
14
|
+
- **ā
Prerequisite Compatibility Check** - Validates Node.js compatibility with selected Angular version
|
|
15
|
+
- **š Smart Node Version Management** - Automatically handles Node version switching with nvm
|
|
16
|
+
- **š¾ Node.js Installation Assistant** - Guides installation when nvm is not available
|
|
17
|
+
- **š Project Location Configuration** - Choose current or custom directory for project creation
|
|
18
|
+
- **šÆ Project Initialization** - Creates Angular project with selected configuration
|
|
19
|
+
|
|
20
|
+
### Advanced Features
|
|
21
|
+
|
|
22
|
+
- **šØ Pre-configured Project Templates**
|
|
23
|
+
- Basic SPA (Minimal setup)
|
|
24
|
+
- Enterprise (NgRx, Material, ESLint)
|
|
25
|
+
- PWA Ready (Service workers, offline support)
|
|
26
|
+
- Material Design (Angular Material components)
|
|
27
|
+
- Testing Ready (Jest, Testing Library)
|
|
28
|
+
- Standalone Components (Modern Angular)
|
|
29
|
+
|
|
30
|
+
- **š Interactive Library Search & Installation**
|
|
31
|
+
- Real-time npm package search with autocomplete
|
|
32
|
+
- Package validation and metadata display
|
|
33
|
+
- Weekly download statistics
|
|
34
|
+
- Version selection (latest or specific)
|
|
35
|
+
- Multiple library queue management
|
|
36
|
+
|
|
37
|
+
- **š¦ Popular Library Bundles**
|
|
38
|
+
- UI Framework Bundle (Material + CDK + Flex Layout)
|
|
39
|
+
- State Management Bundle (NgRx suite)
|
|
40
|
+
- Form & Validation Bundle
|
|
41
|
+
- Testing Bundle (Jest + Testing Library)
|
|
42
|
+
- Performance Bundle (Universal + optimization)
|
|
43
|
+
- Authentication Bundle (Firebase integration)
|
|
44
|
+
- Utilities Bundle (Lodash, date-fns, RxJS)
|
|
45
|
+
- HTTP & API Bundle
|
|
46
|
+
|
|
47
|
+
- **š§ Configuration Presets**
|
|
48
|
+
- TypeScript strict mode
|
|
49
|
+
- ESLint + Prettier setup
|
|
50
|
+
- Husky pre-commit hooks
|
|
51
|
+
- Custom configurations
|
|
52
|
+
|
|
53
|
+
- **š Project Structure Generator**
|
|
54
|
+
- Standard Angular structure (core, shared, features)
|
|
55
|
+
- Domain-driven structure
|
|
56
|
+
- Automatic folder and file generation
|
|
57
|
+
|
|
58
|
+
- **š Environment Configuration**
|
|
59
|
+
- Environment file templates
|
|
60
|
+
- Configuration management
|
|
61
|
+
|
|
62
|
+
- **š Git Integration**
|
|
63
|
+
- Initialize repository
|
|
64
|
+
- Create .gitignore with Angular-specific entries
|
|
65
|
+
- Initial commit creation
|
|
66
|
+
|
|
67
|
+
- **š Documentation Generation**
|
|
68
|
+
- Auto-generate README.md
|
|
69
|
+
- CHANGELOG.md template
|
|
70
|
+
- Project structure documentation
|
|
71
|
+
|
|
72
|
+
- **š¾ Profile Management**
|
|
73
|
+
- Save configurations as reusable profiles
|
|
74
|
+
- Load saved profiles for quick setup
|
|
75
|
+
- Export/import profiles for sharing
|
|
76
|
+
- Cloud-ready profile system
|
|
77
|
+
|
|
78
|
+
## š Prerequisites
|
|
79
|
+
|
|
80
|
+
- **Node.js**: v18.0.0 or higher
|
|
81
|
+
- **npm**: Comes with Node.js
|
|
82
|
+
- **nvm** (optional but recommended): For managing multiple Node.js versions
|
|
83
|
+
|
|
84
|
+
## š Installation
|
|
85
|
+
|
|
86
|
+
### Global Installation (Recommended)
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm install -g ng-init
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Or use with npx (no installation)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx ng-init
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## š Usage
|
|
99
|
+
|
|
100
|
+
### Create New Project (Interactive)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
ng-init
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
or
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
ng-init create
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This starts the interactive CLI that guides you through:
|
|
113
|
+
1. System environment check
|
|
114
|
+
2. Angular version selection
|
|
115
|
+
3. Node.js compatibility check and resolution
|
|
116
|
+
4. Project configuration
|
|
117
|
+
5. Template selection
|
|
118
|
+
6. Library search and installation
|
|
119
|
+
7. Additional features setup
|
|
120
|
+
8. Profile saving option
|
|
121
|
+
|
|
122
|
+
### Check System Versions
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
ng-init check
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Displays current versions of Node.js, npm, nvm, and Angular CLI.
|
|
129
|
+
|
|
130
|
+
### Profile Management
|
|
131
|
+
|
|
132
|
+
#### List all saved profiles
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
ng-init profile list
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Show profile details
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
ng-init profile show <profile-name>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Delete a profile
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
ng-init profile delete <profile-name>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
#### Export a profile
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
ng-init profile export <profile-name> <output-file>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Example:
|
|
157
|
+
```bash
|
|
158
|
+
ng-init profile export my-enterprise-setup ./enterprise-profile.json
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
#### Import a profile
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
ng-init profile import <profile-file>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Example:
|
|
168
|
+
```bash
|
|
169
|
+
ng-init profile import ./enterprise-profile.json
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Show Usage Examples
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
ng-init examples
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## šÆ Usage Examples
|
|
179
|
+
|
|
180
|
+
### Example 1: Create Enterprise Project with Material
|
|
181
|
+
|
|
182
|
+
1. Run `ng-init`
|
|
183
|
+
2. Select Angular version 17
|
|
184
|
+
3. Choose "Enterprise" template
|
|
185
|
+
4. Select "Interactive search" for libraries
|
|
186
|
+
5. Search and add additional packages
|
|
187
|
+
6. Enable Git initialization
|
|
188
|
+
7. Enable README generation
|
|
189
|
+
8. Save as profile for future use
|
|
190
|
+
|
|
191
|
+
### Example 2: Quick Setup with Saved Profile
|
|
192
|
+
|
|
193
|
+
1. Run `ng-init`
|
|
194
|
+
2. Select "Yes" to use saved profile
|
|
195
|
+
3. Choose your saved profile
|
|
196
|
+
4. Confirm configuration
|
|
197
|
+
5. Project is created automatically
|
|
198
|
+
|
|
199
|
+
### Example 3: PWA Project with Testing
|
|
200
|
+
|
|
201
|
+
1. Run `ng-init`
|
|
202
|
+
2. Select latest Angular version
|
|
203
|
+
3. Choose "PWA Ready" template
|
|
204
|
+
4. Select "Testing Bundle" from bundles
|
|
205
|
+
5. Enable ESLint + Prettier
|
|
206
|
+
6. Enable Husky hooks
|
|
207
|
+
7. Project created with complete testing setup
|
|
208
|
+
|
|
209
|
+
## šļø Project Structure
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
ng-init/
|
|
213
|
+
āāā src/
|
|
214
|
+
ā āāā commands/ # CLI command handlers
|
|
215
|
+
ā āāā utils/ # Helper functions
|
|
216
|
+
ā ā āāā version-checker.js # Version detection and management
|
|
217
|
+
ā ā āāā compatibility.js # Compatibility checking
|
|
218
|
+
ā ā āāā npm-search.js # npm registry search
|
|
219
|
+
ā ā āāā installer.js # Package installation
|
|
220
|
+
ā ā āāā prompt-handler.js # Interactive prompts
|
|
221
|
+
ā ā āāā file-utils.js # File operations
|
|
222
|
+
ā ā āāā profile-manager.js # Profile management
|
|
223
|
+
ā āāā templates/ # Project templates
|
|
224
|
+
ā ā āāā templates.js # Template definitions
|
|
225
|
+
ā āāā index.js # CLI entry point
|
|
226
|
+
ā āāā runner.js # Main CLI flow
|
|
227
|
+
āāā package.json
|
|
228
|
+
āāā README.md
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## š§ Configuration
|
|
232
|
+
|
|
233
|
+
### Project Templates
|
|
234
|
+
|
|
235
|
+
The CLI includes several pre-configured templates:
|
|
236
|
+
|
|
237
|
+
- **basic**: Minimal Angular setup with routing
|
|
238
|
+
- **enterprise**: Complete setup with NgRx, Material, ESLint
|
|
239
|
+
- **pwa**: Progressive Web App ready
|
|
240
|
+
- **material**: Angular Material UI components
|
|
241
|
+
- **testing**: Jest and Testing Library setup
|
|
242
|
+
- **standalone**: Modern standalone components
|
|
243
|
+
|
|
244
|
+
### Library Bundles
|
|
245
|
+
|
|
246
|
+
Pre-configured library combinations for common use cases:
|
|
247
|
+
|
|
248
|
+
- **uiFramework**: Angular Material suite
|
|
249
|
+
- **stateManagement**: NgRx complete setup
|
|
250
|
+
- **forms**: Form utilities and validators
|
|
251
|
+
- **testing**: Complete testing stack
|
|
252
|
+
- **performance**: Optimization tools
|
|
253
|
+
- **authentication**: Auth integration
|
|
254
|
+
- **utilities**: Common utility libraries
|
|
255
|
+
- **http**: HTTP and API tools
|
|
256
|
+
|
|
257
|
+
## š¤ Contributing
|
|
258
|
+
|
|
259
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
260
|
+
|
|
261
|
+
1. Fork the repository
|
|
262
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
263
|
+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
264
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
265
|
+
5. Open a Pull Request
|
|
266
|
+
|
|
267
|
+
## š License
|
|
268
|
+
|
|
269
|
+
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
270
|
+
|
|
271
|
+
## š Bug Reports & Feature Requests
|
|
272
|
+
|
|
273
|
+
If you encounter any bugs or have feature requests, please create an issue on GitHub.
|
|
274
|
+
|
|
275
|
+
## š Documentation
|
|
276
|
+
|
|
277
|
+
For detailed documentation, visit [PROJECT_DOCUMENTATION.md](./PROJECT_DOCUMENTATION.md)
|
|
278
|
+
|
|
279
|
+
## š Acknowledgments
|
|
280
|
+
|
|
281
|
+
- Angular Team for the amazing framework
|
|
282
|
+
- Node.js and npm communities
|
|
283
|
+
- All open-source contributors
|
|
284
|
+
|
|
285
|
+
## š Support
|
|
286
|
+
|
|
287
|
+
- GitHub Issues: [Report issues](https://github.com/jatinmourya/ng-init/issues)
|
|
288
|
+
|
|
289
|
+
## š Success Metrics
|
|
290
|
+
|
|
291
|
+
- ā±ļø **80% reduction** in project initialization time
|
|
292
|
+
- ā
**Zero environment setup errors** with guided installation
|
|
293
|
+
- š **Instant project scaffolding** with best practices
|
|
294
|
+
- š¾ **Reusable profiles** for team standardization
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
**Made with ā¤ļø by the Angular community**
|
|
299
|
+
|
|
300
|
+
**Last Updated**: January 30, 2026
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jatinmourya/ng-init",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "src/index.js",
|
|
5
|
+
"description": "A comprehensive CLI tool to automate Angular project initialization with intelligent version management and prerequisite handling",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
|
+
"start": "node src/index.js"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"bin": {
|
|
12
|
+
"ng-init": "./src/index.js"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"angular",
|
|
16
|
+
"cli",
|
|
17
|
+
"automation",
|
|
18
|
+
"project-generator",
|
|
19
|
+
"angular-cli",
|
|
20
|
+
"scaffolding",
|
|
21
|
+
"nvm",
|
|
22
|
+
"node-version",
|
|
23
|
+
"npm",
|
|
24
|
+
"interactive",
|
|
25
|
+
"project-setup",
|
|
26
|
+
"boilerplate",
|
|
27
|
+
"template",
|
|
28
|
+
"angular-project",
|
|
29
|
+
"development-tools"
|
|
30
|
+
],
|
|
31
|
+
"author": "jatinmourya",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://github.com/jatinmourya/ng-init.git"
|
|
36
|
+
},
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/jatinmourya/ng-init/issues"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://github.com/jatinmourya/ng-init#readme",
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@inquirer/prompts": "^7.10.1",
|
|
43
|
+
"axios": "^1.6.5",
|
|
44
|
+
"chalk": "^5.3.0",
|
|
45
|
+
"commander": "^13.1.0",
|
|
46
|
+
"execa": "^9.6.1",
|
|
47
|
+
"inquirer": "^9.2.12",
|
|
48
|
+
"inquirer-autocomplete-prompt": "^3.0.1",
|
|
49
|
+
"lodash.debounce": "^4.0.8",
|
|
50
|
+
"ora": "^8.0.1",
|
|
51
|
+
"semver": "^7.5.4"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18.0.0"
|
|
55
|
+
}
|
|
56
|
+
}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import { runCli } from './runner.js';
|
|
5
|
+
import { listProfiles, loadProfile, deleteProfile, displayProfileInfo, exportProfile, importProfile } from './utils/profile-manager.js';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
|
|
8
|
+
const program = new Command();
|
|
9
|
+
|
|
10
|
+
program
|
|
11
|
+
.name('ng-init')
|
|
12
|
+
.description('Angular project initializer with intelligent version management and automation')
|
|
13
|
+
.version('1.0.0');
|
|
14
|
+
|
|
15
|
+
// Main command - create new project
|
|
16
|
+
program
|
|
17
|
+
.command('create', { isDefault: true })
|
|
18
|
+
.alias('new')
|
|
19
|
+
.description('Create a new Angular project with interactive setup')
|
|
20
|
+
.action(() => {
|
|
21
|
+
runCli();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// Profile management commands
|
|
25
|
+
const profileCommand = program
|
|
26
|
+
.command('profile')
|
|
27
|
+
.description('Manage configuration profiles');
|
|
28
|
+
|
|
29
|
+
profileCommand
|
|
30
|
+
.command('list')
|
|
31
|
+
.description('List all saved profiles')
|
|
32
|
+
.action(async () => {
|
|
33
|
+
try {
|
|
34
|
+
const profiles = await listProfiles();
|
|
35
|
+
|
|
36
|
+
if (profiles.length === 0) {
|
|
37
|
+
console.log(chalk.yellow('No saved profiles found.'));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
console.log(chalk.bold.cyan('\nš Saved Profiles:\n'));
|
|
42
|
+
console.log(chalk.gray('ā'.repeat(50)));
|
|
43
|
+
profiles.forEach(name => {
|
|
44
|
+
console.log(chalk.white(' ⢠') + chalk.green(name));
|
|
45
|
+
});
|
|
46
|
+
console.log(chalk.gray('ā'.repeat(50)) + '\n');
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error(chalk.red('Error listing profiles:'), error.message);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
profileCommand
|
|
53
|
+
.command('show <name>')
|
|
54
|
+
.description('Show details of a profile')
|
|
55
|
+
.action(async (name) => {
|
|
56
|
+
try {
|
|
57
|
+
const profile = await loadProfile(name);
|
|
58
|
+
|
|
59
|
+
if (!profile) {
|
|
60
|
+
console.log(chalk.red(`Profile "${name}" not found.`));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
displayProfileInfo(name, profile);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
console.error(chalk.red('Error loading profile:'), error.message);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
profileCommand
|
|
71
|
+
.command('delete <name>')
|
|
72
|
+
.description('Delete a profile')
|
|
73
|
+
.action(async (name) => {
|
|
74
|
+
try {
|
|
75
|
+
await deleteProfile(name);
|
|
76
|
+
} catch (error) {
|
|
77
|
+
console.error(chalk.red('Error deleting profile:'), error.message);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
profileCommand
|
|
82
|
+
.command('export <name> <output>')
|
|
83
|
+
.description('Export a profile to a file')
|
|
84
|
+
.action(async (name, output) => {
|
|
85
|
+
try {
|
|
86
|
+
await exportProfile(name, output);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error(chalk.red('Error exporting profile:'), error.message);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
profileCommand
|
|
93
|
+
.command('import <file>')
|
|
94
|
+
.description('Import a profile from a file')
|
|
95
|
+
.action(async (file) => {
|
|
96
|
+
try {
|
|
97
|
+
await importProfile(file);
|
|
98
|
+
} catch (error) {
|
|
99
|
+
console.error(chalk.red('Error importing profile:'), error.message);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Version check command
|
|
104
|
+
program
|
|
105
|
+
.command('check')
|
|
106
|
+
.description('Check system versions and compatibility')
|
|
107
|
+
.action(async () => {
|
|
108
|
+
try {
|
|
109
|
+
const { displaySystemVersions } = await import('./utils/version-checker.js');
|
|
110
|
+
await displaySystemVersions();
|
|
111
|
+
} catch (error) {
|
|
112
|
+
console.error(chalk.red('Error checking versions:'), error.message);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// Help command with examples
|
|
117
|
+
program
|
|
118
|
+
.command('examples')
|
|
119
|
+
.description('Show usage examples')
|
|
120
|
+
.action(() => {
|
|
121
|
+
console.log(chalk.bold.cyan('\nš Usage Examples:\n'));
|
|
122
|
+
console.log(chalk.gray('ā'.repeat(50)));
|
|
123
|
+
console.log(chalk.white('Create new project (interactive):'));
|
|
124
|
+
console.log(chalk.green(' $ ng-init') + chalk.gray(' or ') + chalk.green('ng-init create\n'));
|
|
125
|
+
|
|
126
|
+
console.log(chalk.white('Check system versions:'));
|
|
127
|
+
console.log(chalk.green(' $ ng-init check\n'));
|
|
128
|
+
|
|
129
|
+
console.log(chalk.white('List saved profiles:'));
|
|
130
|
+
console.log(chalk.green(' $ ng-init profile list\n'));
|
|
131
|
+
|
|
132
|
+
console.log(chalk.white('Show profile details:'));
|
|
133
|
+
console.log(chalk.green(' $ ng-init profile show my-profile\n'));
|
|
134
|
+
|
|
135
|
+
console.log(chalk.white('Delete a profile:'));
|
|
136
|
+
console.log(chalk.green(' $ ng-init profile delete my-profile\n'));
|
|
137
|
+
|
|
138
|
+
console.log(chalk.white('Export a profile:'));
|
|
139
|
+
console.log(chalk.green(' $ ng-init profile export my-profile ./profile.json\n'));
|
|
140
|
+
|
|
141
|
+
console.log(chalk.white('Import a profile:'));
|
|
142
|
+
console.log(chalk.green(' $ ng-init profile import ./profile.json\n'));
|
|
143
|
+
|
|
144
|
+
console.log(chalk.gray('ā'.repeat(50)) + '\n');
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
program.parse(process.argv);
|
|
148
|
+
|
|
149
|
+
// Show help if no command provided
|
|
150
|
+
// if (!process.argv.slice(2).length) {
|
|
151
|
+
// runCli();
|
|
152
|
+
// }
|