zard-cli 1.0.0-beta.7 → 1.0.0-beta.70

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.
Files changed (71) hide show
  1. package/README.md +39 -167
  2. package/commands/add/component-installer.d.ts +2 -1
  3. package/commands/add/component-installer.d.ts.map +1 -1
  4. package/commands/add/component-installer.js +26 -3
  5. package/commands/add/component-installer.js.map +1 -1
  6. package/commands/add/dark-mode-setup.d.ts +2 -0
  7. package/commands/add/dark-mode-setup.d.ts.map +1 -1
  8. package/commands/add/dark-mode-setup.js +5 -2
  9. package/commands/add/dark-mode-setup.js.map +1 -1
  10. package/commands/add/dependency-resolver.d.ts +1 -1
  11. package/commands/add/dependency-resolver.d.ts.map +1 -1
  12. package/commands/add/dependency-resolver.js +5 -6
  13. package/commands/add/dependency-resolver.js.map +1 -1
  14. package/commands/add/index.d.ts.map +1 -1
  15. package/commands/add/index.js +38 -16
  16. package/commands/add/index.js.map +1 -1
  17. package/commands/init/config-prompter.d.ts +12 -53
  18. package/commands/init/config-prompter.d.ts.map +1 -1
  19. package/commands/init/dependencies.d.ts.map +1 -1
  20. package/commands/init/dependencies.js +4 -2
  21. package/commands/init/dependencies.js.map +1 -1
  22. package/commands/init/index.d.ts.map +1 -1
  23. package/commands/init/index.js +4 -6
  24. package/commands/init/index.js.map +1 -1
  25. package/commands/init/theme-loader.d.ts.map +1 -1
  26. package/commands/init/theme-loader.js +1 -3
  27. package/commands/init/theme-loader.js.map +1 -1
  28. package/core/registry/registry-data.d.ts.map +1 -1
  29. package/core/registry/registry-data.js +273 -41
  30. package/core/registry/registry-data.js.map +1 -1
  31. package/core/themes/theme-definitions.d.ts +5 -5
  32. package/core/themes/theme-definitions.d.ts.map +1 -1
  33. package/core/themes/theme-definitions.js +1 -0
  34. package/core/themes/theme-definitions.js.map +1 -1
  35. package/index.js +37 -3
  36. package/index.js.map +1 -1
  37. package/package.json +4 -4
  38. package/utils/config.d.ts +26 -69
  39. package/utils/config.d.ts.map +1 -1
  40. package/utils/config.js +17 -6
  41. package/utils/config.js.map +1 -1
  42. package/utils/errors.d.ts +16 -0
  43. package/utils/errors.d.ts.map +1 -0
  44. package/utils/errors.js +31 -0
  45. package/utils/errors.js.map +1 -0
  46. package/utils/get-package-info.js +4 -4
  47. package/utils/get-package-info.js.map +1 -1
  48. package/utils/get-project-info.d.ts +1 -0
  49. package/utils/get-project-info.d.ts.map +1 -1
  50. package/utils/get-project-info.js +19 -5
  51. package/utils/get-project-info.js.map +1 -1
  52. package/utils/http-client.d.ts +8 -0
  53. package/utils/http-client.d.ts.map +1 -0
  54. package/utils/http-client.js +68 -0
  55. package/utils/http-client.js.map +1 -0
  56. package/utils/logger.d.ts +3 -0
  57. package/utils/logger.d.ts.map +1 -1
  58. package/utils/logger.js +12 -0
  59. package/utils/logger.js.map +1 -1
  60. package/utils/package-manager.d.ts +3 -1
  61. package/utils/package-manager.d.ts.map +1 -1
  62. package/utils/package-manager.js +10 -7
  63. package/utils/package-manager.js.map +1 -1
  64. package/utils/registry.d.ts +2 -0
  65. package/utils/registry.d.ts.map +1 -1
  66. package/utils/registry.js +33 -20
  67. package/utils/registry.js.map +1 -1
  68. package/utils/fetch-component.d.ts +0 -3
  69. package/utils/fetch-component.d.ts.map +0 -1
  70. package/utils/fetch-component.js +0 -75
  71. package/utils/fetch-component.js.map +0 -1
package/README.md CHANGED
@@ -1,188 +1,60 @@
1
- # @ngzard/ui
1
+ # Zard
2
2
 
3
- Beautiful Angular components built with TailwindCSS v4. Add modern, accessible components to your Angular apps with a single command.
3
+ Modern Angular component library inspired by shadcn/ui, built with TailwindCSS and designed for developers who value <b>beautiful</b>, <b>accessible</b>, and <b>completely free</b> open source components.
4
4
 
5
- ## 🚀 Quick Start
5
+ <a alt="Zard Ui logo" href="https://www.zardui.com/" target="_blank" rel="noreferrer">
6
+ <img align="center" width=100% src="https://www.zardui.com/images/github_banner.png"/>
7
+ </a>
6
8
 
7
- ```bash
8
- # Init the CLI
9
- npx @ngzard/ui@latest init
10
- ```
11
-
12
- ## ✨ Features
13
-
14
- - 🎨 **Beautiful Components** - Modern, accessible UI components
15
- - ⚡ **TailwindCSS v4** - Latest CSS framework with native cascade layers
16
- - 🔧 **TypeScript First** - Built for modern Angular with full type safety
17
- - 🎯 **Angular Focused** - Designed specifically for the Angular ecosystem
18
- - 📱 **Responsive** - Mobile-first components that work everywhere
19
- - 🌙 **Dark Mode** - Built-in dark mode support
20
- - 🧩 **Modular** - Add only the components you need
21
-
22
- ## Installation
9
+ <p align="center">Made with ❤️ from 🇧🇷</p>
10
+ <p align="center">
11
+ <img src="https://img.shields.io/github/stars/zard-ui/zardui" alt="zard ui repository stars"/>
12
+ </p>
23
13
 
24
- Use the `ngzard` to add components to your Angular project:
25
-
26
- ```bash
27
- # Initialize your project
28
- npx @ngzard/ui@latest init
29
-
30
- # Add components to your project
31
- npx @ngzard/ui@latest add button
32
- npx @ngzard/ui@latest add button card dialog
33
-
34
- # Add all components
35
- npx @ngzard/ui@latest add --all
36
- ```
14
+ ## Stack
37
15
 
38
- ## Commands
16
+ ![Angular](https://img.shields.io/badge/angular-%23DD0031.svg?style=for-the-badge&logo=angular&logoColor=white)
17
+ ![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge&logo=tailwind-css&logoColor=white)
18
+ ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
39
19
 
40
- ### `init`
20
+ ## Documentation
41
21
 
42
- Initialize your project and install dependencies for ZardUI components.
22
+ Visit https://www.zardui.com/docs to view the documentation
43
23
 
44
- ```bash
45
- npx @ngzard/ui@latest init
46
- ```
24
+ ## Contributing
47
25
 
48
- This will:
49
- - Install required dependencies (Tailwind CSS v4, class-variance-authority, etc.)
50
- - Create `.postcssrc.json` for Tailwind CSS PostCSS plugin
51
- - Set up `src/styles.css` with Tailwind configuration and design tokens
52
- - Configure TypeScript path mappings in `tsconfig.json`
53
- - Create utility functions in `src/app/shared/utils/`
26
+ We follow a **simple GitHub Flow** with automated releases. Please read our [contributing guide](/CONTRIBUTING.md) to get started.
54
27
 
55
- **Options:**
56
- - `-y, --yes` - Skip confirmation prompts
57
- - `-c, --cwd <path>` - Specify working directory
28
+ ### Quick Start for Contributors
58
29
 
59
- ### `add`
30
+ 1. Fork the repository
31
+ 2. Create your feature branch: `git checkout -b feat/#123-your-feature`
32
+ 3. Develop with as many commits as you want
33
+ 4. Open a PR to `master`
34
+ 5. After review + merge = automatic release!
60
35
 
61
- Add components to your project.
36
+ ### Development Commands
62
37
 
63
38
  ```bash
64
- npx @ngzard/ui@latest add [components...]
65
- ```
66
-
67
- **Examples:**
68
- ```bash
69
- # Add a single component
70
- npx @ngzard/ui@latest add button
71
-
72
- # Add multiple components
73
- npx @ngzard/ui@latest add button card badge
74
-
75
- # Add all components
76
- npx @ngzard/ui@latest add --all
77
-
78
- # Interactive selection
79
- npx @ngzard/ui@latest add
39
+ npm start # Start dev server (port 4222)
40
+ npm test # Run all tests
41
+ npm run build # Build production
42
+ npm run release # Automated release
80
43
  ```
81
44
 
82
- **Options:**
83
- - `-y, --yes` - Skip confirmation prompts
84
- - `-o, --overwrite` - Overwrite existing files
85
- - `-c, --cwd <path>` - Specify working directory
86
- - `-a, --all` - Add all available components
87
- - `-p, --path <path>` - Custom path for components
88
-
89
- ## Available Components
90
-
91
- - `accordion` - Collapsible content panels
92
- - `alert` - Alert messages with variants
93
- - `avatar` - User profile pictures with fallbacks
94
- - `badge` - Small status indicators
95
- - `breadcrumb` - Navigation breadcrumbs
96
- - `button` - Interactive buttons with variants
97
- - `card` - Content containers
98
- - `checkbox` - Form checkboxes
99
- - `dialog` - Modal dialogs
100
- - `divider` - Visual separators
101
- - `dropdown` - Dropdown menus
102
- - `input` - Form inputs
103
- - `loader` - Loading indicators
104
- - `progress-bar` - Progress indicators
105
- - `radio` - Radio button inputs
106
- - `select` - Select dropdowns
107
- - `slider` - Range sliders
108
- - `switch` - Toggle switches
109
- - `tabs` - Tabbed interfaces
110
- - `toggle` - Toggle buttons
111
- - `tooltip` - Hover tooltips
112
-
113
- ## Configuration
114
-
115
- The CLI stores configuration in `components.json`:
116
-
117
- ```json
118
- {
119
- "style": "css",
120
- "tailwind": {
121
- "css": "src/styles.css",
122
- "baseColor": "slate"
123
- },
124
- "baseUrl": "src/app",
125
- "aliases": {
126
- "components": "@/shared/components",
127
- "utils": "@/shared/utils",
128
- "core": "@/shared/core",
129
- "services": "@/shared/services"
130
- }
131
- }
132
- ```
133
-
134
- ## Requirements
135
-
136
- - Angular 19+
137
- - Node.js 20 or 22
138
- - TypeScript project
139
-
140
- ## Path Mappings
141
-
142
- The CLI automatically configures TypeScript path mappings in your `tsconfig.json`:
143
-
144
- ```json
145
- {
146
- "compilerOptions": {
147
- "baseUrl": "./",
148
- "paths": {
149
- "@/*": ["src/app/*"]
150
- }
151
- }
152
- }
153
- ```
154
-
155
- This allows you to import components and utilities using clean paths:
156
-
157
- ```typescript
158
- import { ZardButtonComponent } from '@/shared/components/button';
159
- import { mergeClasses } from '@/shared/utils/merge-classes';
160
- ```
161
-
162
- ## Tailwind CSS v4 Support
163
-
164
- ZardUI CLI is built specifically for Tailwind CSS v4, using the new inline configuration approach:
165
-
166
- - No `tailwind.config.js` needed
167
- - Configuration via `.postcssrc.json`
168
- - Design tokens defined in CSS with `@theme`
169
- - Plugin configuration with `@plugin`
170
-
171
- ## Troubleshooting
172
-
173
- ### "Configuration not found"
174
- Run `npx @ngzard/ui@latest init` first to initialize your project.
175
-
176
- ### "Not an Angular project"
177
- Make sure you're in the root directory of an Angular project with a `package.json` that includes `@angular/core`.
45
+ ## License
178
46
 
179
- ### Rate limiting from GitHub
180
- The CLI fetches components from GitHub. If you encounter rate limiting, wait a few minutes before retrying.
47
+ Licensed under the [MIT license](/LICENSE.md).
181
48
 
182
- ## Contributing
49
+ ## Get In Touch
183
50
 
184
- This CLI is part of the [ZardUI](https://github.com/zard-ui/zardui) project. Please refer to the main repository for contribution guidelines.
51
+ <p>Click on one of the icons and Help us on this journey and be part of our community.</p>
185
52
 
186
- ## License
53
+ <a href="https://chat.whatsapp.com/Dctdh6Huhvm24OX6js5XKT" target="_blank">
54
+ <img src="https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white" alt="whatsapp" />
55
+ </a>
56
+ <img src="https://dcbadge.limes.pink/api/server/https://discord.com/invite/yP8Uj9rAX9" alt="discord" />
187
57
 
188
- MIT © ZardUI
58
+ <span>Follow us in</span> <a href="https://x.com/zard_ui" target="_blank">
59
+ <img src="https://img.shields.io/badge/X-%23000000.svg?logo=X&logoColor=white" alt="X" />
60
+ </a>
@@ -1,4 +1,5 @@
1
- import type { Config } from '../../utils/config.js';
1
+ import { Config } from '../../utils/config';
2
+ export declare function validateTargetPath(targetDir: string, projectRoot: string): void;
2
3
  export declare function installComponent(componentName: string, targetDir: string, config: Config & {
3
4
  resolvedPaths: any;
4
5
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"component-installer.d.ts","sourceRoot":"","sources":["../../../src/commands/add/component-installer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"component-installer.d.ts","sourceRoot":"","sources":["../../../src/commands/add/component-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAO3C,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAK/E;AAED,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -1,11 +1,33 @@
1
+ import { CliError, InstallError } from '../../utils/errors.js';
2
+ import { logger } from '../../utils/logger.js';
3
+ import { fetchComponent } from '../../utils/registry.js';
1
4
  import { promises as fs } from 'node:fs';
2
5
  import * as path from 'node:path';
3
- import { fetchComponent } from '../../utils/registry.js';
6
+ export function validateTargetPath(targetDir, projectRoot) {
7
+ const resolved = path.resolve(targetDir);
8
+ if (!resolved.startsWith(projectRoot)) {
9
+ throw new CliError('Target path must be within the project directory', 'INVALID_PATH');
10
+ }
11
+ }
4
12
  export async function installComponent(componentName, targetDir, config) {
5
13
  const component = await fetchComponent(componentName, config);
6
14
  await fs.mkdir(targetDir, { recursive: true });
7
- for (const file of component.files) {
8
- await installComponentFile(file, targetDir);
15
+ const writtenFiles = [];
16
+ try {
17
+ for (const file of component.files) {
18
+ const filePath = await installComponentFile(file, targetDir);
19
+ writtenFiles.push(filePath);
20
+ }
21
+ }
22
+ catch (error) {
23
+ // Rollback: remove all written files
24
+ for (const filePath of writtenFiles) {
25
+ await fs.unlink(filePath).catch(() => {
26
+ /* ignore cleanup errors */
27
+ });
28
+ }
29
+ logger.debug(`Rolled back ${writtenFiles.length} file(s) for component "${componentName}"`);
30
+ throw new InstallError(`Failed to install component "${componentName}": ${error instanceof Error ? error.message : error}`, componentName);
9
31
  }
10
32
  }
11
33
  async function installComponentFile(file, targetDir) {
@@ -13,5 +35,6 @@ async function installComponentFile(file, targetDir) {
13
35
  const fileDir = path.dirname(filePath);
14
36
  await fs.mkdir(fileDir, { recursive: true });
15
37
  await fs.writeFile(filePath, file.content, 'utf8');
38
+ return filePath;
16
39
  }
17
40
  //# sourceMappingURL=component-installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-installer.js","sourceRoot":"","sources":["../../../src/commands/add/component-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAAqB,EACrB,SAAiB,EACjB,MAAuC;IAEvC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAA8B,EAAE,SAAiB;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"component-installer.js","sourceRoot":"","sources":["../../../src/commands/add/component-installer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAgB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,WAAmB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,QAAQ,CAAC,kDAAkD,EAAE,cAAc,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAAqB,EACrB,SAAiB,EACjB,MAAuC;IAEvC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAE9D,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC7D,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qCAAqC;QACrC,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnC,2BAA2B;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,eAAe,YAAY,CAAC,MAAM,2BAA2B,aAAa,GAAG,CAAC,CAAC;QAE5F,MAAM,IAAI,YAAY,CACpB,gCAAgC,aAAa,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EACnG,aAAa,CACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAA8B,EAAE,SAAiB;IACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEnD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,7 +1,9 @@
1
+ import { type Config } from '../../utils/config.js';
1
2
  export declare function updateProvideZardWithDarkMode(cwd: string, resolvedConfig: {
2
3
  resolvedPaths: {
3
4
  core: string;
4
5
  services: string;
5
6
  };
7
+ aliases?: Config['aliases'];
6
8
  }): Promise<void>;
7
9
  //# sourceMappingURL=dark-mode-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dark-mode-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/add/dark-mode-setup.ts"],"names":[],"mappings":"AAQA,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,MAAM,EACX,cAAc,EAAE;IAAE,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACpE,OAAO,CAAC,IAAI,CAAC,CAmDf"}
1
+ {"version":3,"file":"dark-mode-setup.d.ts","sourceRoot":"","sources":["../../../src/commands/add/dark-mode-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAYnD,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,MAAM,EACX,cAAc,EAAE;IAAE,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CAAE,GACjG,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -2,7 +2,9 @@ import { logger } from '../../utils/logger.js';
2
2
  import { existsSync } from 'fs';
3
3
  import * as fsPromises from 'fs/promises';
4
4
  import * as path from 'path';
5
- const DARK_MODE_IMPORT = "import { ZardDarkMode } from '../../services/dark-mode';";
5
+ function getDarkModeImport(servicesAlias) {
6
+ return `import { ZardDarkMode } from '${servicesAlias ?? '@/shared/services'}/dark-mode';`;
7
+ }
6
8
  const DARK_MODE_INITIALIZER = 'provideAppInitializer(() => inject(ZardDarkMode).init())';
7
9
  export async function updateProvideZardWithDarkMode(cwd, resolvedConfig) {
8
10
  const provideZardPath = path.join(resolvedConfig.resolvedPaths.core, 'provider/providezard.ts');
@@ -29,7 +31,8 @@ export async function updateProvideZardWithDarkMode(cwd, resolvedConfig) {
29
31
  }
30
32
  if (lastImportMatch) {
31
33
  const insertionIndex = lastImportMatch.index + lastImportMatch[0].length;
32
- content = content.slice(0, insertionIndex) + DARK_MODE_IMPORT + '\n' + content.slice(insertionIndex);
34
+ const darkModeImport = getDarkModeImport(resolvedConfig.aliases?.services);
35
+ content = content.slice(0, insertionIndex) + darkModeImport + '\n' + content.slice(insertionIndex);
33
36
  }
34
37
  content = content.replace(/return makeEnvironmentProviders\(\[(.*?)\]\);/s, (match, providers) => {
35
38
  const trimmedProviders = providers.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"dark-mode-setup.js","sourceRoot":"","sources":["../../../src/commands/add/dark-mode-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AACpF,MAAM,qBAAqB,GAAG,0DAA0D,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAW,EACX,cAAqE;IAErE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAEhG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,0CAA0C,EAC1C,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,0CAA0C,EAC1C,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,IAAI,eAAe,GAA4B,IAAI,CAAC;IACpD,IAAI,KAA8B,CAAC;IAEnC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,eAAe,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACvG,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gDAAgD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QAC/F,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,oCAAoC,qBAAqB,KAAK,gBAAgB,KAAK,CAAC;QAC7F,CAAC;QACD,OAAO,oCAAoC,qBAAqB,KAAK,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"dark-mode-setup.js","sourceRoot":"","sources":["../../../src/commands/add/dark-mode-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,SAAS,iBAAiB,CAAC,aAAsB;IAC/C,OAAO,iCAAiC,aAAa,IAAI,mBAAmB,cAAc,CAAC;AAC7F,CAAC;AAED,MAAM,qBAAqB,GAAG,0DAA0D,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAW,EACX,cAAkG;IAElG,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAEhG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,0CAA0C,EAC1C,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,0CAA0C,EAC1C,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,IAAI,eAAe,GAA4B,IAAI,CAAC;IACpD,IAAI,KAA8B,CAAC;IAEnC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,eAAe,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gDAAgD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QAC/F,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,oCAAoC,qBAAqB,KAAK,gBAAgB,KAAK,CAAC;QAC7F,CAAC;QACD,OAAO,oCAAoC,qBAAqB,KAAK,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
@@ -14,7 +14,7 @@ export interface ResolvedDependencies {
14
14
  componentsToInstall: ComponentMeta[];
15
15
  dependenciesToInstall: Set<string>;
16
16
  }
17
- export declare function getRegistryIndex(): Promise<RegistryIndex>;
17
+ export declare function getRegistryIndex(forceRefresh?: boolean): Promise<RegistryIndex>;
18
18
  export declare function getComponentMeta(name: string): Promise<ComponentMeta | undefined>;
19
19
  export declare function getAllComponentNames(): Promise<string[]>;
20
20
  export declare function resolveDependencies(selectedComponents: string[], resolvedConfig: Config & {
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-resolver.d.ts","sourceRoot":"","sources":["../../../src/commands/add/dependency-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAajF,wBAAgB,YAAY,CAC1B,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAoBR;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,aAAa,EAAE,CAAC;IACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAK/D;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAYvF;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG9D;AAED,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
1
+ {"version":3,"file":"dependency-resolver.d.ts","sourceRoot":"","sources":["../../../src/commands/add/dependency-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAa1G,wBAAgB,YAAY,CAC1B,SAAS,EAAE,aAAa,EACxB,cAAc,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAoBR;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,EAAE,aAAa,EAAE,CAAC;IACrC,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,wBAAsB,gBAAgB,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAKnF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAYvF;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG9D;AAED,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,GAAG;IAAE,aAAa,EAAE,GAAG,CAAA;CAAE,EAC/C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7D,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readdirSync } from 'fs';
2
2
  import * as path from 'path';
3
3
  import { logger } from '../../utils/logger.js';
4
- import { fetchRegistryIndex } from '../../utils/registry.js';
4
+ import { fetchRegistryIndex, invalidateRegistryCache } from '../../utils/registry.js';
5
5
  function isComponentInstalled(dir) {
6
6
  if (!existsSync(dir))
7
7
  return false;
@@ -29,12 +29,11 @@ export function getTargetDir(component, resolvedConfig, cwd, customPath) {
29
29
  }
30
30
  return path.resolve(resolvedConfig.resolvedPaths.components, basePath);
31
31
  }
32
- let registryIndexCache = null;
33
- export async function getRegistryIndex() {
34
- if (!registryIndexCache) {
35
- registryIndexCache = await fetchRegistryIndex();
32
+ export async function getRegistryIndex(forceRefresh = false) {
33
+ if (forceRefresh) {
34
+ invalidateRegistryCache();
36
35
  }
37
- return registryIndexCache;
36
+ return fetchRegistryIndex();
38
37
  }
39
38
  export async function getComponentMeta(name) {
40
39
  const index = await getRegistryIndex();
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-resolver.js","sourceRoot":"","sources":["../../../src/commands/add/dependency-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-resolver.js","sourceRoot":"","sources":["../../../src/commands/add/dependency-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/add/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,GAAG,SAmDZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/add/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,GAAG,SA+DZ,CAAC"}
@@ -1,9 +1,10 @@
1
- import { installComponent } from '../../commands/add/component-installer.js';
1
+ import { installComponent, validateTargetPath } from '../../commands/add/component-installer.js';
2
2
  import { selectComponents } from '../../commands/add/component-selector.js';
3
3
  import { updateProvideZardWithDarkMode } from '../../commands/add/dark-mode-setup.js';
4
4
  import { resolveDependencies, getTargetDir } from '../../commands/add/dependency-resolver.js';
5
5
  import { injectThemeScript } from '../../commands/init/theme-loader.js';
6
6
  import { getConfig, resolveConfigPaths } from '../../utils/config.js';
7
+ import { CliError } from '../../utils/errors.js';
7
8
  import { getProjectInfo } from '../../utils/get-project-info.js';
8
9
  import { logger, spinner } from '../../utils/logger.js';
9
10
  import { installPackages } from '../../utils/package-manager.js';
@@ -24,8 +25,11 @@ export const add = new Command()
24
25
  .action(async (components, options) => {
25
26
  const cwd = path.resolve(options.cwd);
26
27
  validateWorkingDirectory(cwd);
28
+ if (options.path) {
29
+ validateTargetPath(path.resolve(cwd, options.path), cwd);
30
+ }
27
31
  const config = await loadConfiguration(cwd);
28
- await validateProject(cwd);
32
+ const projectInfo = await validateProject(cwd);
29
33
  const resolvedConfig = await resolveConfigPaths(cwd, config);
30
34
  const selectedComponents = await selectComponents(components, options.all);
31
35
  const addSpinner = spinner('Resolving components...').start();
@@ -35,13 +39,17 @@ export const add = new Command()
35
39
  logger.info('All components already installed.');
36
40
  return;
37
41
  }
42
+ const resolvedDeps = resolveCompatibleVersions(dependenciesToInstall, projectInfo.angularVersion);
43
+ if (projectInfo.angularVersionRaw && /-(rc|next|canary)/.test(projectInfo.angularVersionRaw)) {
44
+ logger.warn(`You are using a pre-release version of Angular (${projectInfo.angularVersionRaw}). Some dependencies may have compatibility issues.`);
45
+ }
38
46
  if (!options.yes) {
39
- const shouldProceed = await confirmInstallation(componentsToInstall.length, dependenciesToInstall.size);
47
+ const shouldProceed = await confirmInstallation(componentsToInstall.length, resolvedDeps.length);
40
48
  if (!shouldProceed) {
41
49
  process.exit(0);
42
50
  }
43
51
  }
44
- await installDependencies(dependenciesToInstall, cwd, config.packageManager);
52
+ await installDependencies(resolvedDeps, cwd, config.packageManager);
45
53
  await installComponents(componentsToInstall, cwd, resolvedConfig, options);
46
54
  const isDarkModeBeingInstalled = componentsToInstall.some(c => c.name === 'dark-mode');
47
55
  if (isDarkModeBeingInstalled) {
@@ -52,40 +60,53 @@ export const add = new Command()
52
60
  });
53
61
  function validateWorkingDirectory(cwd) {
54
62
  if (!existsSync(cwd)) {
55
- logger.error(`The path ${cwd} does not exist. Please try again.`);
56
- process.exit(1);
63
+ throw new CliError(`The path ${cwd} does not exist. Please try again.`, 'INVALID_CWD');
57
64
  }
58
65
  }
59
66
  async function loadConfiguration(cwd) {
60
67
  const config = await getConfig(cwd);
61
68
  if (!config) {
62
- logger.error('Configuration not found. Please run `ngzard init` first.');
63
- process.exit(1);
69
+ throw new CliError('Configuration not found. Please run `zard-cli init` first.', 'CONFIG_NOT_FOUND');
64
70
  }
65
71
  return config;
66
72
  }
67
73
  async function validateProject(cwd) {
68
74
  const projectInfo = await getProjectInfo(cwd);
69
75
  if (projectInfo.framework !== 'angular') {
70
- logger.error('This project does not appear to be an Angular project.');
71
- process.exit(1);
76
+ throw new CliError('This project does not appear to be an Angular project.', 'NOT_ANGULAR');
72
77
  }
73
78
  return projectInfo;
74
79
  }
75
- async function confirmInstallation(componentsCount, dependenciesCount) {
80
+ async function confirmInstallation(componentsCount, depsCount) {
76
81
  const { proceed } = await prompts({
77
82
  type: 'confirm',
78
83
  name: 'proceed',
79
- message: `Ready to install ${componentsCount} component(s) and ${dependenciesCount} dependencies. Proceed?`,
84
+ message: `Ready to install ${componentsCount} component(s) and ${depsCount} dependencies. Proceed?`,
80
85
  initial: true,
81
86
  });
82
87
  return proceed;
83
88
  }
84
- async function installDependencies(dependenciesToInstall, cwd, packageManager) {
85
- if (dependenciesToInstall.size === 0)
89
+ const ANGULAR_VERSION_PACKAGES = ['embla-carousel-angular'];
90
+ function resolveCompatibleVersions(dependencies, angularVersion) {
91
+ const angularMajor = angularVersion ? parseInt(angularVersion.split('.')[0], 10) : null;
92
+ return Array.from(dependencies).map(dep => {
93
+ if (angularMajor && ANGULAR_VERSION_PACKAGES.includes(dep)) {
94
+ return `${dep}@^${angularMajor}.0.0`;
95
+ }
96
+ return dep;
97
+ });
98
+ }
99
+ async function installDependencies(packages, cwd, packageManager) {
100
+ if (packages.length === 0)
86
101
  return;
87
102
  const depsSpinner = spinner('Installing dependencies...').start();
88
- await installPackages(Array.from(dependenciesToInstall), cwd, packageManager, false);
103
+ try {
104
+ await installPackages(packages, cwd, packageManager, false);
105
+ }
106
+ catch {
107
+ depsSpinner.text = 'Retrying with --legacy-peer-deps...';
108
+ await installPackages(packages, cwd, packageManager, false, true);
109
+ }
89
110
  depsSpinner.succeed('Dependencies installed');
90
111
  }
91
112
  async function installComponents(componentsToInstall, cwd, resolvedConfig, options) {
@@ -101,6 +122,7 @@ async function installComponents(componentsToInstall, cwd, resolvedConfig, optio
101
122
  }
102
123
  catch (error) {
103
124
  failed.push(component.name);
125
+ logger.debug(`Failed to install ${component.name}: ${error instanceof Error ? error.message : error}`);
104
126
  }
105
127
  }
106
128
  if (failed.length > 0) {
@@ -131,7 +153,7 @@ async function setupDarkMode(cwd, resolvedConfig) {
131
153
  }
132
154
  catch (error) {
133
155
  darkModeSpinner.fail('Failed to configure dark mode');
134
- logger.error(error);
156
+ logger.debug(`Dark mode error: ${error instanceof Error ? error.message : error}`);
135
157
  }
136
158
  }
137
159
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/add/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/add/index.ts"],"names":[],"mappings":"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"}