trix-ui 0.2.0 → 0.2.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 +110 -19
- package/dist/commands/add/__tests__/add.test.js +18 -6
- package/dist/commands/add/__tests__/add.test.js.map +1 -1
- package/dist/commands/add/analysis.js +6 -1
- package/dist/commands/add/analysis.js.map +1 -1
- package/dist/commands/add/command.js +6 -0
- package/dist/commands/add/command.js.map +1 -1
- package/dist/commands/add/types.d.ts +1 -0
- package/dist/commands/add/ui.js +4 -0
- package/dist/commands/add/ui.js.map +1 -1
- package/dist/commands/add-composite.d.ts +2 -0
- package/dist/commands/add-composite.js +202 -0
- package/dist/commands/add-composite.js.map +1 -0
- package/dist/commands/add-section.js +6 -0
- package/dist/commands/add-section.js.map +1 -1
- package/dist/commands/add-wrapper.js +7 -1
- package/dist/commands/add-wrapper.js.map +1 -1
- package/dist/commands/doctor.js +9 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init/config.js +1 -0
- package/dist/commands/init/config.js.map +1 -1
- package/dist/commands/list-sections.js +2 -7
- package/dist/commands/list-sections.js.map +1 -1
- package/dist/commands/list-wrappers.js +2 -7
- package/dist/commands/list-wrappers.js.map +1 -1
- package/dist/commands/list.js +51 -8
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/remove-section.js +9 -34
- package/dist/commands/remove-section.js.map +1 -1
- package/dist/commands/remove-wrapper.js +9 -34
- package/dist/commands/remove-wrapper.js.map +1 -1
- package/dist/commands/remove.js +71 -38
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/shared/add-collection.d.ts +2 -1
- package/dist/commands/shared/add-collection.js +10 -13
- package/dist/commands/shared/add-collection.js.map +1 -1
- package/dist/commands/shared/list-entries.d.ts +6 -0
- package/dist/commands/shared/list-entries.js +13 -0
- package/dist/commands/shared/list-entries.js.map +1 -0
- package/dist/commands/shared/name-utils.d.ts +1 -0
- package/dist/commands/shared/name-utils.js +14 -0
- package/dist/commands/shared/name-utils.js.map +1 -0
- package/dist/commands/shared/remove-entries.d.ts +16 -0
- package/dist/commands/shared/remove-entries.js +42 -0
- package/dist/commands/shared/remove-entries.js.map +1 -0
- package/dist/index.js +11 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +1 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/install.js +14 -7
- package/dist/lib/install.js.map +1 -1
- package/dist/lib/lockfile.d.ts +6 -5
- package/dist/lib/lockfile.js +26 -7
- package/dist/lib/lockfile.js.map +1 -1
- package/dist/lib/paths.d.ts +1 -0
- package/dist/lib/paths.js +1 -0
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/registry.d.ts +3 -0
- package/dist/lib/registry.js +15 -0
- package/dist/lib/registry.js.map +1 -1
- package/package.json +12 -12
- package/registry/index.json +67 -128
- package/templates/components/ui/avatar.tsx +109 -0
- package/templates/components/ui/button.tsx +48 -44
- package/templates/components/ui/label.tsx +24 -0
- package/templates/composites/feature-collection-card.tsx +113 -0
- package/templates/composites/music-player-card.tsx +221 -0
- package/templates/composites/user-profile-card.tsx +145 -0
- package/templates/sections/modern-hero.tsx +1226 -0
- package/templates/wrappers/Interative-wrapper.tsx +555 -0
- package/LICENSE.md +0 -21
- package/templates/components/ui/checkbox.tsx +0 -33
- package/templates/components/ui/dialog.tsx +0 -92
- package/templates/components/ui/dropdown.tsx +0 -75
- package/templates/components/ui/select.tsx +0 -24
- package/templates/components/ui/switch.tsx +0 -27
- package/templates/components/ui/toast.tsx +0 -100
- package/templates/sections/cta.tsx +0 -22
- package/templates/sections/feature-grid.tsx +0 -62
- package/templates/sections/hero.tsx +0 -63
- package/templates/wrappers/border-wrapper.tsx +0 -34
- package/templates/wrappers/glow-wrapper.tsx +0 -31
- package/templates/wrappers/lift-wrapper.tsx +0 -27
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# trix-ui
|
|
1
|
+
<!-- # trix-ui
|
|
2
2
|
|
|
3
3
|
A small, registry-driven CLI that installs minimal, accessible UI components into your app.
|
|
4
4
|
|
|
@@ -23,33 +23,104 @@ npx trix-ui add button card dialog
|
|
|
23
23
|
npx trix-ui add-section hero
|
|
24
24
|
npx trix-ui add-wrapper glow-wrapper
|
|
25
25
|
npx trix-ui remove button
|
|
26
|
-
npx trix-ui remove
|
|
27
|
-
npx trix-ui remove
|
|
26
|
+
npx trix-ui remove --section hero
|
|
27
|
+
npx trix-ui remove --wrapper glow-wrapper
|
|
28
28
|
npx trix-ui list
|
|
29
|
-
npx trix-ui list
|
|
30
|
-
npx trix-ui list
|
|
29
|
+
npx trix-ui list --type sections
|
|
30
|
+
npx trix-ui list --type wrappers
|
|
31
31
|
npx trix-ui doctor
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## How it works (detailed)
|
|
35
|
+
|
|
36
|
+
### High-level model
|
|
37
|
+
`trix-ui` is a registry-driven CLI. It installs UI assets into your app by copying
|
|
38
|
+
templates and recording those installs in a lockfile. The registry is a JSON catalog
|
|
39
|
+
of components, sections, wrappers, and composites. Each entry describes:
|
|
40
|
+
- which template files to copy
|
|
41
|
+
- where those files should land in your project
|
|
42
|
+
- any local or npm dependencies
|
|
43
|
+
|
|
44
|
+
### Core files and directories
|
|
45
|
+
When you run `ui init`, the CLI prepares a project for installs:
|
|
46
|
+
- `trix-ui.json` (config)
|
|
47
|
+
- `components/ui`, `components/sections`, `components/wrappers`, `components/composites`
|
|
48
|
+
- `lib/utils.ts`
|
|
49
|
+
- `styles/globals.css`
|
|
50
|
+
- `.ui/lock.json` (install tracking)
|
|
51
|
+
|
|
52
|
+
The lockfile is the source of truth for what the CLI has installed and is used
|
|
53
|
+
to safely remove files later.
|
|
54
|
+
|
|
55
|
+
### Data flow (install)
|
|
56
|
+
1. Resolve working directory (`--cwd` or `process.cwd()`).
|
|
57
|
+
2. Load config from `trix-ui.json` (merged with defaults).
|
|
58
|
+
3. Load registry (bundled by default or local if configured).
|
|
59
|
+
4. Load lockfile (creates empty lockfile if none exists).
|
|
60
|
+
5. Validate inputs (normalize names and verify registry entries).
|
|
61
|
+
6. Analyze dependencies:
|
|
62
|
+
- `dependencies.local` installs other registry components first.
|
|
63
|
+
- `dependencies.npm` are collected for optional install.
|
|
64
|
+
7. Handle conflicts (existing files/lockfile entries) with prompts, or `--force`.
|
|
65
|
+
8. Copy templates into target paths.
|
|
66
|
+
9. Update lockfile with installed entries and files.
|
|
67
|
+
10. Optionally install npm dependencies (`--skip-deps` to skip).
|
|
68
|
+
|
|
69
|
+
### Dependency resolution
|
|
70
|
+
- **Local dependencies** (`dependencies.local`) are other registry components and
|
|
71
|
+
are installed before sections/wrappers/composites.
|
|
72
|
+
- **NPM dependencies** (`dependencies.npm`) are optional and can be installed
|
|
73
|
+
by the CLI via your package manager.
|
|
74
|
+
|
|
75
|
+
### Conflict handling
|
|
76
|
+
If a target file already exists or an entry is in the lockfile:
|
|
77
|
+
- Default: skip and warn.
|
|
78
|
+
- `--force`: overwrite files and update lockfile entries.
|
|
79
|
+
- `--yes`: auto-confirm prompts.
|
|
80
|
+
|
|
81
|
+
### Safe removal
|
|
82
|
+
- `ui remove` and related commands remove only files tracked in `.ui/lock.json`.
|
|
83
|
+
- `--force` removes files based on registry targets even if not tracked.
|
|
84
|
+
|
|
85
|
+
### Registry resolution
|
|
86
|
+
- **Bundled registry** (default): packaged with the CLI (`registry/index.json`).
|
|
87
|
+
- **Local registry**: configure `registry` in `trix-ui.json` to point to a custom
|
|
88
|
+
registry file (and optional templates path).
|
|
89
|
+
|
|
90
|
+
### Tokens and path resolution
|
|
91
|
+
Registry `target` fields support tokens:
|
|
92
|
+
`{{components}}`, `{{sections}}`, `{{wrappers}}`, `{{composites}}`, `{{lib}}`, `{{styles}}`.
|
|
93
|
+
Tokens are resolved using `trix-ui.json` paths, then converted to absolute paths.
|
|
94
|
+
Note: `{{lib}}` resolves to the `paths.utils` file path.
|
|
95
|
+
|
|
96
|
+
### Doctor command
|
|
97
|
+
`ui doctor` checks:
|
|
98
|
+
- config presence and validity
|
|
99
|
+
- required directories/files
|
|
100
|
+
- registry load errors
|
|
101
|
+
- lockfile existence
|
|
102
|
+
|
|
34
103
|
## Commands
|
|
35
104
|
|
|
36
|
-
- `ui init` - Creates `
|
|
105
|
+
- `ui init` - Creates `trix-ui.json`, `components/ui`, `lib/utils.ts`, `styles/globals.css`, and `.ui/lock.json`.
|
|
37
106
|
- `ui add <component...>` - Copies templates into `components/ui` and updates `.ui/lock.json`.
|
|
38
107
|
- `ui add-section <section...>` - Copies section templates into `components/sections` and updates `.ui/lock.json`.
|
|
39
108
|
- `ui add-wrapper <wrapper...>` - Copies wrapper templates into `components/wrappers` and updates `.ui/lock.json`.
|
|
109
|
+
- `ui add-composite <composite...>` - Copies composite templates into `components/composites` and updates `.ui/lock.json`.
|
|
40
110
|
- `ui remove <component...>` - Removes only files tracked in `.ui/lock.json` (safe by default).
|
|
41
|
-
- `ui remove
|
|
42
|
-
- `ui remove
|
|
43
|
-
- `ui
|
|
44
|
-
- `ui list
|
|
45
|
-
- `ui list
|
|
111
|
+
- `ui remove --section <section...>` - Removes only section files tracked in `.ui/lock.json` (safe by default).
|
|
112
|
+
- `ui remove --wrapper <wrapper...>` - Removes only wrapper files tracked in `.ui/lock.json` (safe by default).
|
|
113
|
+
- `ui remove --composite <composite...>` - Removes only composite files tracked in `.ui/lock.json` (safe by default).
|
|
114
|
+
- `ui list` - Lists registry components, sections, wrappers, and composites.
|
|
115
|
+
- `ui list --type sections` - Lists registry sections only.
|
|
116
|
+
- `ui list --type wrappers` - Lists registry wrappers only.
|
|
117
|
+
- `ui list --type composites` - Lists registry composites only.
|
|
46
118
|
- `ui doctor` - Checks config, registry, and required files.
|
|
47
119
|
|
|
48
|
-
## Config (
|
|
120
|
+
## Config (trix-ui.json)
|
|
49
121
|
|
|
50
122
|
```json
|
|
51
123
|
{
|
|
52
|
-
"schemaVersion": 1,
|
|
53
124
|
"registry": {
|
|
54
125
|
"type": "bundled"
|
|
55
126
|
},
|
|
@@ -57,7 +128,7 @@ npx trix-ui doctor
|
|
|
57
128
|
"components": "components/ui",
|
|
58
129
|
"sections": "components/sections",
|
|
59
130
|
"wrappers": "components/wrappers",
|
|
60
|
-
"
|
|
131
|
+
"composites": "components/composites",
|
|
61
132
|
"utils": "lib/utils.ts",
|
|
62
133
|
"styles": "styles/globals.css"
|
|
63
134
|
},
|
|
@@ -118,13 +189,28 @@ Notes:
|
|
|
118
189
|
}
|
|
119
190
|
]
|
|
120
191
|
}
|
|
192
|
+
],
|
|
193
|
+
"composites": [
|
|
194
|
+
{
|
|
195
|
+
"name": "marketing-stack",
|
|
196
|
+
"description": "Composite layout for stacked marketing sections.",
|
|
197
|
+
"files": [
|
|
198
|
+
{
|
|
199
|
+
"source": "composites/marketing-stack.tsx",
|
|
200
|
+
"target": "{{composites}}/marketing-stack.tsx"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"dependencies": {
|
|
204
|
+
"local": ["button", "card"]
|
|
205
|
+
}
|
|
206
|
+
}
|
|
121
207
|
]
|
|
122
208
|
}
|
|
123
209
|
```
|
|
124
210
|
|
|
125
211
|
- `source` is relative to `templates/`.
|
|
126
|
-
- `target` supports tokens: `{{components}}`, `{{sections}}`, `{{wrappers}}`, `{{lib}}`, `{{styles}}`.
|
|
127
|
-
- `dependencies.local` installs registry components before the section or
|
|
212
|
+
- `target` supports tokens: `{{components}}`, `{{sections}}`, `{{wrappers}}`, `{{composites}}`, `{{lib}}`, `{{styles}}`.
|
|
213
|
+
- `dependencies.local` installs registry components before the section, wrapper, or composite.
|
|
128
214
|
- `dependencies.npm` are printed after install; you install them manually.
|
|
129
215
|
|
|
130
216
|
## Add a new component
|
|
@@ -145,6 +231,12 @@ Notes:
|
|
|
145
231
|
2. Add a registry entry in `registry/index.json` under `wrappers`.
|
|
146
232
|
3. Run `ui add-wrapper <name>` in your app.
|
|
147
233
|
|
|
234
|
+
## Add a new composite
|
|
235
|
+
|
|
236
|
+
1. Create a template in `templates/composites/<name>.tsx`.
|
|
237
|
+
2. Add a registry entry in `registry/index.json` under `composites`.
|
|
238
|
+
3. Run `ui add-composite <name>` in your app.
|
|
239
|
+
|
|
148
240
|
## Tailwind setup
|
|
149
241
|
|
|
150
242
|
Add CSS variables in `styles/globals.css` (installed by `ui init`).
|
|
@@ -202,7 +294,7 @@ export default {
|
|
|
202
294
|
## Troubleshooting
|
|
203
295
|
|
|
204
296
|
`ui doctor` reports common issues:
|
|
205
|
-
- missing `
|
|
297
|
+
- missing `trix-ui.json`
|
|
206
298
|
- missing `components/ui` directory
|
|
207
299
|
- missing `lib/utils.ts` or `styles/globals.css`
|
|
208
300
|
- registry load failures
|
|
@@ -211,5 +303,4 @@ export default {
|
|
|
211
303
|
## Notes
|
|
212
304
|
|
|
213
305
|
- Requires Node 18+ for built-in `fetch`.
|
|
214
|
-
- Paths are stored in `.ui/lock.json` relative to the project root for Windows/Mac safety.
|
|
215
|
-
|
|
306
|
+
- Paths are stored in `.ui/lock.json` relative to the project root for Windows/Mac safety. -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
import { addCommand } from "../../add.js";
|
|
2
3
|
import "./__mocks__/cli-mocks.js";
|
|
3
4
|
import "./add.mocks.js";
|
|
4
|
-
import { addCommand } from "../../add.js";
|
|
5
5
|
import { analyzeDependencies, directoryExists, getComponentNames, installComponents, loadConfig, loadLockfile, loadRegistry, validateComponents } from "./add.mocks.js";
|
|
6
6
|
describe("add command", () => {
|
|
7
7
|
beforeEach(() => {
|
|
@@ -37,8 +37,11 @@ describe("add command", () => {
|
|
|
37
37
|
});
|
|
38
38
|
analyzeDependencies.mockReturnValue({
|
|
39
39
|
components: ["button"],
|
|
40
|
+
dependencies: new Set(),
|
|
41
|
+
npmDependencies: new Set(),
|
|
40
42
|
conflicts: [],
|
|
41
|
-
totalToInstall: 1
|
|
43
|
+
totalToInstall: 1,
|
|
44
|
+
missingDependencies: []
|
|
42
45
|
});
|
|
43
46
|
installComponents.mockResolvedValue({
|
|
44
47
|
installed: ["button"],
|
|
@@ -61,8 +64,11 @@ describe("add command", () => {
|
|
|
61
64
|
});
|
|
62
65
|
analyzeDependencies.mockReturnValue({
|
|
63
66
|
components: ["button", "card"],
|
|
67
|
+
dependencies: new Set(),
|
|
68
|
+
npmDependencies: new Set(),
|
|
64
69
|
conflicts: [],
|
|
65
|
-
totalToInstall: 2
|
|
70
|
+
totalToInstall: 2,
|
|
71
|
+
missingDependencies: []
|
|
66
72
|
});
|
|
67
73
|
installComponents.mockResolvedValue({
|
|
68
74
|
installed: ["button", "card"],
|
|
@@ -84,8 +90,11 @@ describe("add command", () => {
|
|
|
84
90
|
});
|
|
85
91
|
analyzeDependencies.mockReturnValue({
|
|
86
92
|
components: ["button"],
|
|
93
|
+
dependencies: new Set(),
|
|
94
|
+
npmDependencies: new Set(),
|
|
87
95
|
conflicts: ["button"],
|
|
88
|
-
totalToInstall: 0
|
|
96
|
+
totalToInstall: 0,
|
|
97
|
+
missingDependencies: []
|
|
89
98
|
});
|
|
90
99
|
installComponents.mockResolvedValue({
|
|
91
100
|
installed: ["button"],
|
|
@@ -113,9 +122,12 @@ describe("add command", () => {
|
|
|
113
122
|
suggestions: []
|
|
114
123
|
});
|
|
115
124
|
analyzeDependencies.mockReturnValue({
|
|
116
|
-
components: ["
|
|
125
|
+
components: ["hbutton"],
|
|
126
|
+
dependencies: new Set(),
|
|
127
|
+
npmDependencies: new Set(),
|
|
117
128
|
conflicts: [],
|
|
118
|
-
totalToInstall: 1
|
|
129
|
+
totalToInstall: 1,
|
|
130
|
+
missingDependencies: []
|
|
119
131
|
});
|
|
120
132
|
installComponents.mockResolvedValue({
|
|
121
133
|
installed: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../../../src/commands/add/__tests__/add.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"add.test.js","sourceRoot":"","sources":["../../../../src/commands/add/__tests__/add.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export function analyzeDependencies(components, registry, lockfile) {
|
|
|
10
10
|
const allComponents = new Set(components);
|
|
11
11
|
const dependencies = new Set();
|
|
12
12
|
const npmDependencies = new Set();
|
|
13
|
+
const missingDependencies = new Set();
|
|
13
14
|
const visited = new Set();
|
|
14
15
|
const resolveDependencies = (componentName) => {
|
|
15
16
|
if (visited.has(componentName)) {
|
|
@@ -18,6 +19,9 @@ export function analyzeDependencies(components, registry, lockfile) {
|
|
|
18
19
|
visited.add(componentName);
|
|
19
20
|
const entry = componentMap.get(componentName);
|
|
20
21
|
if (!entry) {
|
|
22
|
+
missingDependencies.add(componentName);
|
|
23
|
+
allComponents.delete(componentName);
|
|
24
|
+
dependencies.delete(componentName);
|
|
21
25
|
return;
|
|
22
26
|
}
|
|
23
27
|
for (const dep of collectLocalDependencies(entry)) {
|
|
@@ -46,7 +50,8 @@ export function analyzeDependencies(components, registry, lockfile) {
|
|
|
46
50
|
dependencies,
|
|
47
51
|
npmDependencies,
|
|
48
52
|
conflicts,
|
|
49
|
-
totalToInstall
|
|
53
|
+
totalToInstall,
|
|
54
|
+
missingDependencies: Array.from(missingDependencies).sort()
|
|
50
55
|
};
|
|
51
56
|
}
|
|
52
57
|
//# sourceMappingURL=analysis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/commands/add/analysis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,SAAS,wBAAwB,CAAC,KAAmB;IACnD,OAAO,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAA;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmB;IACjD,OAAO,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAAoB,EACpB,QAAuB,EACvB,QAAkB;IAElB,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/commands/add/analysis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,SAAS,wBAAwB,CAAC,KAAmB;IACnD,OAAO,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAA;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmB;IACjD,OAAO,KAAK,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAAoB,EACpB,QAAuB,EACvB,QAAkB;IAElB,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAA;IACjD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;IAE7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,MAAM,mBAAmB,GAAG,CAAC,aAAqB,EAAQ,EAAE;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACtC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YACnC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAClC,OAAM;QACR,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACtB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;YACD,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAEzE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QACrC,YAAY;QACZ,eAAe;QACf,SAAS;QACT,cAAc;QACd,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE;KAC5D,CAAA;AACH,CAAC"}
|
|
@@ -94,6 +94,12 @@ export const addCommand = new Command("add")
|
|
|
94
94
|
spinner?.start("Analyzing dependencies...");
|
|
95
95
|
const analysis = analyzeDependencies(validation.valid, registry, lockfile);
|
|
96
96
|
spinner?.stop();
|
|
97
|
+
if (analysis.missingDependencies.length > 0) {
|
|
98
|
+
logger.error("Registry is missing required component dependencies:");
|
|
99
|
+
analysis.missingDependencies.forEach((name) => logger.error(` \u0007 ${name}`));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
97
103
|
if (shouldLog) {
|
|
98
104
|
displayInstallationPlan(analysis, options);
|
|
99
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAiB,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,SAAS,mBAAmB,CAAC,UAAoB;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,MAAM,UAAU,GAAa,EAAE,CAAA;IAE/B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,SAAQ;QACV,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACnB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACvC,OAAO,MAAmB,CAAA;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,gCAAgC,CAAC;KAC7C,QAAQ,CACP,iBAAiB,EACjB,kDAAkD,CACnD;KACA,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,KAAK,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,2BAA2B,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,cAAc,EAAE,0BAA0B,EAAE,KAAK,CAAC;KACzD,MAAM,CAAC,kBAAkB,EAAE,qCAAqC,CAAC;KACjE,MAAM,CAAC,aAAa,EAAE,8BAA8B,EAAE,KAAK,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,UAAoB,EAAE,OAAmB,EAAiB,EAAE;IACzE,MAAM,OAAO,GAAe,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;IACjC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAEtD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAA;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QACjD,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAExC,OAAO,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACxC,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;QAEhD,IAAI,mBAAmB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;QACzD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YACjD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,uBAAuB,aAAa,CAAC,MAAM,cAAc,CAC1D,CACF,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnD,CAAC;YAED,MAAM,cAAc,GAAG,YAAY;gBACjC,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,aAAa,CAAC,MAAM,aAAa,CAAC;gBACrE,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YAED,mBAAmB,GAAG,aAAa,CAAA;QACrC,CAAC;QAED,OAAO,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,EAAE,IAAI,EAAE,CAAA;QAEf,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;YACxD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAA;YACtE,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;gBAC5C,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC,CAClD,CAAA;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,OAAM;QACR,CAAC;QAED,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC1E,OAAO,EAAE,IAAI,EAAE,CAAA;QAEf,IAAI,SAAS,EAAE,CAAC;YACd,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;gBACtD,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAA;YACvE,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,MAAM,eAAe,GAAG,MAAM,gBAAgB,EAAE,CAAA;gBAEhD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;oBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACf,OAAM;gBACR,CAAC;gBAED,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM;YAC5B,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAA;QAC3B,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,GAAG,YAAY,aAAa,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,CAAA;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,OAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC5C,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAA;QAE1C,OAAO,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,GAAG;YACH,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,KAAK,EAAE,YAAY;YACnB,OAAO;SACR,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAG,aAAa,MAAM,CAAC,SAAS,CAAC,MAAM,aAAa,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,GAAG,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;QACpC,CAAC;QAED,OAAO,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACtC,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACjC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAEpC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACzC,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YACjD,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,iBAAiB,GAAG,YAAY;gBACpC,CAAC,CAAC,MAAM,6BAA6B,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC7D,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,sBAAsB,CAAC;oBAC3B,GAAG;oBACH,YAAY,EAAE,MAAM,CAAC,eAAe;oBACpC,OAAO;iBACR,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,gCAAgC,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;YACxD,MAAM,gCAAgC,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,OAAM;QACR,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACpC,MAAM,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAA;QACtC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,OAAM;IACR,CAAC;AACH,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/add/command.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/add/ui.js
CHANGED
|
@@ -15,6 +15,10 @@ export function displayInstallationPlan(analysis, options) {
|
|
|
15
15
|
console.log(`${chalk.cyan("NPM packages required:")} ${chalk.white(analysis.npmDependencies.size)}`);
|
|
16
16
|
console.log(chalk.gray(` ${Array.from(analysis.npmDependencies).join(", ")}`));
|
|
17
17
|
}
|
|
18
|
+
if (analysis.missingDependencies.length > 0) {
|
|
19
|
+
console.log(`${chalk.red("Missing registry dependencies:")} ${chalk.white(analysis.missingDependencies.length)}`);
|
|
20
|
+
console.log(chalk.gray(` ${analysis.missingDependencies.join(", ")}`));
|
|
21
|
+
}
|
|
18
22
|
if (analysis.conflicts.length > 0 && !options.force) {
|
|
19
23
|
console.log(`${chalk.yellow("Conflicts detected:")} ${chalk.white(analysis.conflicts.length)}`);
|
|
20
24
|
console.log(chalk.gray(` ${analysis.conflicts.join(", ")}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/commands/add/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/commands/add/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { Command } from "commander";
|
|
4
|
+
import ora from "ora";
|
|
5
|
+
import { loadConfig } from "../lib/config.js";
|
|
6
|
+
import { directoryExists } from "../lib/fs.js";
|
|
7
|
+
import { loadLockfile, saveLockfile } from "../lib/lockfile.js";
|
|
8
|
+
import { logger } from "../lib/logger.js";
|
|
9
|
+
import { getRegistryComposites, loadRegistry } from "../lib/registry.js";
|
|
10
|
+
import { analyzeEntryDependencies, confirmOverwrite, createEmptyResult, displayInstallationPlan, displayResults, getEntryNames, installEntries, normalizeEntryNames, validateEntries } from "./shared/add-collection.js";
|
|
11
|
+
import { ensureProjectFiles } from "./add/project-files.js";
|
|
12
|
+
import { confirmDependencyInstallation, confirmInstallation } from "./add/prompts.js";
|
|
13
|
+
import { displayManualInstallInstructions } from "./add/ui.js";
|
|
14
|
+
import { installNpmDependencies } from "./add/install.js";
|
|
15
|
+
const COMPOSITE_LABELS = {
|
|
16
|
+
entrySingular: "composite",
|
|
17
|
+
entryPlural: "composites"
|
|
18
|
+
};
|
|
19
|
+
function toAddConfig(config) {
|
|
20
|
+
return config;
|
|
21
|
+
}
|
|
22
|
+
export const addCompositeCommand = new Command("add-composite")
|
|
23
|
+
.description("Add prebuilt composites to your project")
|
|
24
|
+
.argument("<composites...>", "composite names (or 'all' to install everything)")
|
|
25
|
+
.option("-f, --force", "overwrite existing files", false)
|
|
26
|
+
.option("-y, --yes", "skip confirmation prompts", false)
|
|
27
|
+
.option("-s, --silent", "suppress output messages", false)
|
|
28
|
+
.option("-c, --cwd <path>", "working directory to add composites")
|
|
29
|
+
.option("--skip-deps", "skip dependency installation", false)
|
|
30
|
+
.action(async (composites, options) => {
|
|
31
|
+
const spinner = options.silent ? null : ora({ color: "blue" });
|
|
32
|
+
const shouldLog = !options.silent;
|
|
33
|
+
const shouldPrompt = !options.yes && !options.silent;
|
|
34
|
+
try {
|
|
35
|
+
const cwd = path.resolve(options.cwd || process.cwd());
|
|
36
|
+
if (shouldLog) {
|
|
37
|
+
logger.info({ cwd }, "Adding composites");
|
|
38
|
+
}
|
|
39
|
+
if (!(await directoryExists(cwd))) {
|
|
40
|
+
logger.error(`Directory does not exist: ${cwd}`);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
spinner?.start("Loading configuration...");
|
|
44
|
+
const config = toAddConfig(await loadConfig(cwd));
|
|
45
|
+
spinner?.succeed("Configuration loaded");
|
|
46
|
+
spinner?.start("Loading registry and lockfile...");
|
|
47
|
+
const registry = await loadRegistry(config, cwd);
|
|
48
|
+
const lockfile = await loadLockfile(cwd);
|
|
49
|
+
spinner?.succeed("Registry and lockfile loaded");
|
|
50
|
+
const availableComposites = getRegistryComposites(registry);
|
|
51
|
+
if (availableComposites.length === 0) {
|
|
52
|
+
logger.error("No composites available in the registry.");
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
let requestedComposites = normalizeEntryNames(composites);
|
|
56
|
+
if (requestedComposites.length === 0) {
|
|
57
|
+
logger.error("No composite names provided.");
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
if (requestedComposites.includes("all")) {
|
|
61
|
+
const allComposites = getEntryNames(availableComposites);
|
|
62
|
+
if (shouldLog) {
|
|
63
|
+
console.log(chalk.yellow(`\nThis will install ${allComposites.length} composites:`));
|
|
64
|
+
console.log(chalk.gray(allComposites.join(", ")));
|
|
65
|
+
}
|
|
66
|
+
const shouldContinue = shouldPrompt
|
|
67
|
+
? await confirmInstallation(`all ${allComposites.length} composites`)
|
|
68
|
+
: true;
|
|
69
|
+
if (!shouldContinue) {
|
|
70
|
+
logger.info("Installation cancelled");
|
|
71
|
+
process.exit(0);
|
|
72
|
+
}
|
|
73
|
+
requestedComposites = allComposites;
|
|
74
|
+
}
|
|
75
|
+
spinner?.start("Validating composites...");
|
|
76
|
+
const validation = validateEntries(requestedComposites, availableComposites);
|
|
77
|
+
spinner?.stop();
|
|
78
|
+
if (validation.invalid.length > 0) {
|
|
79
|
+
logger.error("The following composites were not found:");
|
|
80
|
+
validation.invalid.forEach((name) => logger.error(` \u0007 ${name}`));
|
|
81
|
+
if (validation.suggestions.length > 0 && shouldLog) {
|
|
82
|
+
console.log(chalk.yellow("\nDid you mean:"));
|
|
83
|
+
validation.suggestions.forEach((suggestion) => console.log(chalk.gray(` \u0007 ${suggestion}`)));
|
|
84
|
+
}
|
|
85
|
+
process.exit(1);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
spinner?.start("Analyzing dependencies...");
|
|
89
|
+
const analysis = analyzeEntryDependencies(validation.valid, availableComposites, registry, lockfile, "composites");
|
|
90
|
+
spinner?.stop();
|
|
91
|
+
if (analysis.missingDependencies.length > 0) {
|
|
92
|
+
logger.error("Registry is missing required component dependencies:");
|
|
93
|
+
analysis.missingDependencies.forEach((name) => logger.error(` \u0007 ${name}`));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (shouldLog) {
|
|
98
|
+
displayInstallationPlan(analysis, options, COMPOSITE_LABELS);
|
|
99
|
+
}
|
|
100
|
+
let forceInstall = Boolean(options.force);
|
|
101
|
+
if (analysis.conflicts.length > 0 && !forceInstall) {
|
|
102
|
+
if (shouldLog) {
|
|
103
|
+
logger.warn("The following composites or dependencies already exist:");
|
|
104
|
+
analysis.conflicts.forEach((name) => logger.warn(` \u0007 ${name}`));
|
|
105
|
+
}
|
|
106
|
+
if (options.yes) {
|
|
107
|
+
forceInstall = true;
|
|
108
|
+
}
|
|
109
|
+
else if (shouldPrompt) {
|
|
110
|
+
const shouldOverwrite = await confirmOverwrite(COMPOSITE_LABELS.entryPlural);
|
|
111
|
+
if (!shouldOverwrite) {
|
|
112
|
+
logger.info("Installation cancelled");
|
|
113
|
+
process.exit(0);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
forceInstall = true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const installCount = forceInstall
|
|
120
|
+
? analysis.totalTargets
|
|
121
|
+
: analysis.totalToInstall;
|
|
122
|
+
if (shouldPrompt && installCount > 0) {
|
|
123
|
+
const label = analysis.componentDependencies.length > 0
|
|
124
|
+
? `${installCount} item${installCount > 1 ? "s" : ""}`
|
|
125
|
+
: `${installCount} ${COMPOSITE_LABELS.entrySingular}${installCount > 1 ? "s" : ""}`;
|
|
126
|
+
const shouldInstall = await confirmInstallation(label);
|
|
127
|
+
if (!shouldInstall) {
|
|
128
|
+
logger.info("Installation cancelled");
|
|
129
|
+
process.exit(0);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
spinner?.start("Verifying project setup...");
|
|
134
|
+
await ensureProjectFiles(cwd, config);
|
|
135
|
+
spinner?.succeed("Project setup verified");
|
|
136
|
+
const dependenciesResult = analysis.componentDependencies.length > 0
|
|
137
|
+
? await installEntries(registry.components, analysis.componentDependencies, lockfile.components, {
|
|
138
|
+
cwd,
|
|
139
|
+
config,
|
|
140
|
+
force: forceInstall,
|
|
141
|
+
spinner,
|
|
142
|
+
itemLabel: "component"
|
|
143
|
+
})
|
|
144
|
+
: createEmptyResult();
|
|
145
|
+
const compositesResult = await installEntries(availableComposites, validation.valid, lockfile.composites, {
|
|
146
|
+
cwd,
|
|
147
|
+
config,
|
|
148
|
+
force: forceInstall,
|
|
149
|
+
spinner,
|
|
150
|
+
itemLabel: "composite"
|
|
151
|
+
});
|
|
152
|
+
const npmDependencies = new Set();
|
|
153
|
+
dependenciesResult.npmDependencies.forEach((dep) => npmDependencies.add(dep));
|
|
154
|
+
compositesResult.npmDependencies.forEach((dep) => npmDependencies.add(dep));
|
|
155
|
+
spinner?.start("Updating lockfile...");
|
|
156
|
+
await saveLockfile(cwd, lockfile);
|
|
157
|
+
spinner?.succeed("Lockfile updated");
|
|
158
|
+
const combinedResult = {
|
|
159
|
+
entries: compositesResult,
|
|
160
|
+
dependencies: dependenciesResult,
|
|
161
|
+
npmDependencies,
|
|
162
|
+
conflicts: analysis.conflicts
|
|
163
|
+
};
|
|
164
|
+
if (npmDependencies.size > 0 && !options.skipDeps) {
|
|
165
|
+
const shouldInstallDeps = shouldPrompt
|
|
166
|
+
? await confirmDependencyInstallation(npmDependencies)
|
|
167
|
+
: true;
|
|
168
|
+
if (shouldInstallDeps) {
|
|
169
|
+
await installNpmDependencies({
|
|
170
|
+
cwd,
|
|
171
|
+
dependencies: npmDependencies,
|
|
172
|
+
spinner
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
if (shouldLog) {
|
|
177
|
+
await displayManualInstallInstructions(npmDependencies, cwd);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else if (npmDependencies.size > 0 && shouldLog) {
|
|
182
|
+
await displayManualInstallInstructions(npmDependencies, cwd);
|
|
183
|
+
}
|
|
184
|
+
if (shouldLog) {
|
|
185
|
+
displayResults(combinedResult, { ...options, force: forceInstall }, COMPOSITE_LABELS);
|
|
186
|
+
}
|
|
187
|
+
if (compositesResult.failed.length > 0 || dependenciesResult.failed.length > 0) {
|
|
188
|
+
process.exit(1);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
spinner?.fail("Installation failed");
|
|
194
|
+
logger.error(error.message);
|
|
195
|
+
if (process.env.DEBUG) {
|
|
196
|
+
console.error(error);
|
|
197
|
+
}
|
|
198
|
+
process.exit(1);
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=add-composite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-composite.js","sourceRoot":"","sources":["../../src/commands/add-composite.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,12 @@ export const addSectionCommand = new Command("add-section")
|
|
|
88
88
|
spinner?.start("Analyzing dependencies...");
|
|
89
89
|
const analysis = analyzeEntryDependencies(validation.valid, availableSections, registry, lockfile, "sections");
|
|
90
90
|
spinner?.stop();
|
|
91
|
+
if (analysis.missingDependencies.length > 0) {
|
|
92
|
+
logger.error("Registry is missing required component dependencies:");
|
|
93
|
+
analysis.missingDependencies.forEach((name) => logger.error(` \u0007 ${name}`));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
91
97
|
if (shouldLog) {
|
|
92
98
|
displayInstallationPlan(analysis, options, SECTION_LABELS);
|
|
93
99
|
}
|