trix-ui 0.2.14 → 0.3.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.
Files changed (241) hide show
  1. package/dist/commands/add/analysis.d.ts +4 -4
  2. package/dist/commands/add/analysis.js +56 -56
  3. package/dist/commands/add/command.d.ts +2 -2
  4. package/dist/commands/add/command.js +205 -202
  5. package/dist/commands/add/command.js.map +1 -1
  6. package/dist/commands/add/config.d.ts +2 -2
  7. package/dist/commands/add/config.js +11 -11
  8. package/dist/commands/add/install.d.ts +27 -27
  9. package/dist/commands/add/install.js +80 -80
  10. package/dist/commands/add/package-manager.d.ts +1 -1
  11. package/dist/commands/add/package-manager.js +4 -4
  12. package/dist/commands/add/project-files.d.ts +2 -2
  13. package/dist/commands/add/project-files.js +17 -17
  14. package/dist/commands/add/prompts.d.ts +3 -3
  15. package/dist/commands/add/prompts.js +28 -28
  16. package/dist/commands/add/registry.d.ts +4 -4
  17. package/dist/commands/add/registry.js +6 -6
  18. package/dist/commands/add/types.d.ts +33 -33
  19. package/dist/commands/add/types.js +1 -1
  20. package/dist/commands/add/ui.d.ts +4 -4
  21. package/dist/commands/add/ui.js +55 -55
  22. package/dist/commands/add/validation.d.ts +3 -3
  23. package/dist/commands/add/validation.js +30 -30
  24. package/dist/commands/add-collection.d.ts +1 -1
  25. package/dist/commands/add-collection.js +1 -1
  26. package/dist/commands/add-composite.d.ts +2 -2
  27. package/dist/commands/add-composite.js +205 -201
  28. package/dist/commands/add-composite.js.map +1 -1
  29. package/dist/commands/add-section.d.ts +2 -2
  30. package/dist/commands/add-section.js +205 -201
  31. package/dist/commands/add-section.js.map +1 -1
  32. package/dist/commands/add-wrapper.d.ts +2 -2
  33. package/dist/commands/add-wrapper.js +205 -201
  34. package/dist/commands/add-wrapper.js.map +1 -1
  35. package/dist/commands/add.d.ts +1 -1
  36. package/dist/commands/add.js +1 -1
  37. package/dist/commands/build.d.ts +2 -2
  38. package/dist/commands/build.js +104 -104
  39. package/dist/commands/build.js.map +1 -1
  40. package/dist/commands/doctor.d.ts +2 -2
  41. package/dist/commands/doctor.js +67 -67
  42. package/dist/commands/doctor.js.map +1 -1
  43. package/dist/commands/init/command.d.ts +8 -2
  44. package/dist/commands/init/command.js +186 -114
  45. package/dist/commands/init/command.js.map +1 -1
  46. package/dist/commands/init/config.d.ts +9 -2
  47. package/dist/commands/init/config.js +45 -25
  48. package/dist/commands/init/config.js.map +1 -1
  49. package/dist/commands/init/constants.d.ts +3 -3
  50. package/dist/commands/init/constants.js +105 -105
  51. package/dist/commands/init/dependencies.d.ts +22 -5
  52. package/dist/commands/init/dependencies.js +86 -52
  53. package/dist/commands/init/dependencies.js.map +1 -1
  54. package/dist/commands/init/filesystem.d.ts +7 -1
  55. package/dist/commands/init/filesystem.js +16 -10
  56. package/dist/commands/init/filesystem.js.map +1 -1
  57. package/dist/commands/init/lockfile.d.ts +1 -1
  58. package/dist/commands/init/lockfile.js +1 -1
  59. package/dist/commands/init/package-json.d.ts +17 -6
  60. package/dist/commands/init/package-json.js +28 -18
  61. package/dist/commands/init/package-json.js.map +1 -1
  62. package/dist/commands/init/project.d.ts +15 -3
  63. package/dist/commands/init/project.js +120 -97
  64. package/dist/commands/init/project.js.map +1 -1
  65. package/dist/commands/init/tailwind.d.ts +14 -3
  66. package/dist/commands/init/tailwind.js +141 -33
  67. package/dist/commands/init/tailwind.js.map +1 -1
  68. package/dist/commands/init/templates.d.ts +15 -3
  69. package/dist/commands/init/templates.js +27 -15
  70. package/dist/commands/init/templates.js.map +1 -1
  71. package/dist/commands/init/tsconfig.d.ts +14 -2
  72. package/dist/commands/init/tsconfig.js +561 -273
  73. package/dist/commands/init/tsconfig.js.map +1 -1
  74. package/dist/commands/init/types.d.ts +34 -33
  75. package/dist/commands/init/types.js +1 -1
  76. package/dist/commands/init/ui.d.ts +12 -3
  77. package/dist/commands/init/ui.js +45 -33
  78. package/dist/commands/init/ui.js.map +1 -1
  79. package/dist/commands/init/vite.d.ts +1 -1
  80. package/dist/commands/init/vite.js +17 -27
  81. package/dist/commands/init/vite.js.map +1 -1
  82. package/dist/commands/init.d.ts +1 -1
  83. package/dist/commands/init.js +1 -1
  84. package/dist/commands/list.d.ts +2 -2
  85. package/dist/commands/list.js +69 -62
  86. package/dist/commands/list.js.map +1 -1
  87. package/dist/commands/remove.d.ts +2 -2
  88. package/dist/commands/remove.js +95 -93
  89. package/dist/commands/remove.js.map +1 -1
  90. package/dist/commands/shared/add-collection.d.ts +50 -50
  91. package/dist/commands/shared/add-collection.js +206 -206
  92. package/dist/commands/shared/list-entries.d.ts +6 -6
  93. package/dist/commands/shared/list-entries.js +12 -12
  94. package/dist/commands/shared/name-utils.d.ts +1 -1
  95. package/dist/commands/shared/name-utils.js +13 -13
  96. package/dist/commands/shared/remove-entries.d.ts +16 -16
  97. package/dist/commands/shared/remove-entries.js +41 -41
  98. package/dist/icons/index.d.ts +1 -1
  99. package/dist/icons/index.js +1 -1
  100. package/dist/icons/libraries.d.ts +37 -37
  101. package/dist/icons/libraries.js +34 -34
  102. package/dist/index.d.ts +1 -2
  103. package/dist/index.js +29 -30
  104. package/dist/index.js.map +1 -1
  105. package/dist/lib/config.d.ts +45 -45
  106. package/dist/lib/config.js +97 -97
  107. package/dist/lib/fs.d.ts +82 -76
  108. package/dist/lib/fs.js +299 -302
  109. package/dist/lib/fs.js.map +1 -1
  110. package/dist/lib/highlighter.d.ts +6 -6
  111. package/dist/lib/highlighter.js +7 -7
  112. package/dist/lib/install.d.ts +19 -19
  113. package/dist/lib/install.js +101 -55
  114. package/dist/lib/install.js.map +1 -1
  115. package/dist/lib/lockfile.d.ts +63 -63
  116. package/dist/lib/lockfile.js +179 -173
  117. package/dist/lib/lockfile.js.map +1 -1
  118. package/dist/lib/logger.d.ts +8 -8
  119. package/dist/lib/logger.js +41 -41
  120. package/dist/lib/logger.js.map +1 -1
  121. package/dist/lib/paths.d.ts +14 -14
  122. package/dist/lib/paths.js +41 -31
  123. package/dist/lib/paths.js.map +1 -1
  124. package/dist/lib/registry.d.ts +35 -35
  125. package/dist/lib/registry.js +180 -180
  126. package/dist/schema/index.d.ts +1128 -1128
  127. package/dist/schema/index.js +237 -238
  128. package/dist/schema/index.js.map +1 -1
  129. package/dist/styles/create-style-map.d.ts +4 -4
  130. package/dist/styles/create-style-map.js +68 -68
  131. package/dist/styles/transform-style-map.d.ts +3 -3
  132. package/dist/styles/transform-style-map.js +428 -428
  133. package/dist/styles/transform.d.ts +10 -10
  134. package/dist/styles/transform.js +15 -15
  135. package/dist/utils/index.d.ts +6 -6
  136. package/dist/utils/index.js +5 -5
  137. package/dist/utils/transformers/transform-icons.d.ts +2 -2
  138. package/dist/utils/transformers/transform-icons.js +164 -164
  139. package/dist/utils/transformers/transform-menu.d.ts +2 -2
  140. package/dist/utils/transformers/transform-menu.js +39 -39
  141. package/dist/utils/transformers/transform-render.d.ts +2 -2
  142. package/dist/utils/transformers/transform-render.js +97 -97
  143. package/dist/utils/transformers/types.d.ts +14 -14
  144. package/dist/utils/transformers/types.js +1 -1
  145. package/package.json +69 -69
  146. package/dist/__tests__/contracts/registry.test.d.ts +0 -1
  147. package/dist/__tests__/contracts/registry.test.js +0 -42
  148. package/dist/__tests__/contracts/registry.test.js.map +0 -1
  149. package/dist/__tests__/e2e/cli.test.d.ts +0 -1
  150. package/dist/__tests__/e2e/cli.test.js +0 -67
  151. package/dist/__tests__/e2e/cli.test.js.map +0 -1
  152. package/dist/__tests__/helpers/fs.d.ts +0 -5
  153. package/dist/__tests__/helpers/fs.js +0 -26
  154. package/dist/__tests__/helpers/fs.js.map +0 -1
  155. package/dist/__tests__/integration/commands.integration.test.d.ts +0 -1
  156. package/dist/__tests__/integration/commands.integration.test.js +0 -184
  157. package/dist/__tests__/integration/commands.integration.test.js.map +0 -1
  158. package/dist/commands/__tests__/add-composite.test.d.ts +0 -2
  159. package/dist/commands/__tests__/add-composite.test.js +0 -171
  160. package/dist/commands/__tests__/add-composite.test.js.map +0 -1
  161. package/dist/commands/__tests__/add-entry.mocks.d.ts +0 -23
  162. package/dist/commands/__tests__/add-entry.mocks.js +0 -64
  163. package/dist/commands/__tests__/add-entry.mocks.js.map +0 -1
  164. package/dist/commands/__tests__/add-section.test.d.ts +0 -2
  165. package/dist/commands/__tests__/add-section.test.js +0 -191
  166. package/dist/commands/__tests__/add-section.test.js.map +0 -1
  167. package/dist/commands/__tests__/add-wrapper.test.d.ts +0 -2
  168. package/dist/commands/__tests__/add-wrapper.test.js +0 -171
  169. package/dist/commands/__tests__/add-wrapper.test.js.map +0 -1
  170. package/dist/commands/__tests__/cli-mocks.d.ts +0 -1
  171. package/dist/commands/__tests__/cli-mocks.js +0 -24
  172. package/dist/commands/__tests__/cli-mocks.js.map +0 -1
  173. package/dist/commands/__tests__/doctor.mocks.d.ts +0 -6
  174. package/dist/commands/__tests__/doctor.mocks.js +0 -20
  175. package/dist/commands/__tests__/doctor.mocks.js.map +0 -1
  176. package/dist/commands/__tests__/doctor.test.d.ts +0 -2
  177. package/dist/commands/__tests__/doctor.test.js +0 -80
  178. package/dist/commands/__tests__/doctor.test.js.map +0 -1
  179. package/dist/commands/__tests__/list.mocks.d.ts +0 -8
  180. package/dist/commands/__tests__/list.mocks.js +0 -20
  181. package/dist/commands/__tests__/list.mocks.js.map +0 -1
  182. package/dist/commands/__tests__/list.test.d.ts +0 -2
  183. package/dist/commands/__tests__/list.test.js +0 -60
  184. package/dist/commands/__tests__/list.test.js.map +0 -1
  185. package/dist/commands/__tests__/remove.mocks.d.ts +0 -9
  186. package/dist/commands/__tests__/remove.mocks.js +0 -26
  187. package/dist/commands/__tests__/remove.mocks.js.map +0 -1
  188. package/dist/commands/__tests__/remove.test.d.ts +0 -2
  189. package/dist/commands/__tests__/remove.test.js +0 -116
  190. package/dist/commands/__tests__/remove.test.js.map +0 -1
  191. package/dist/commands/add/__tests__/__mocks__/cli-mocks.d.ts +0 -1
  192. package/dist/commands/add/__tests__/__mocks__/cli-mocks.js +0 -21
  193. package/dist/commands/add/__tests__/__mocks__/cli-mocks.js.map +0 -1
  194. package/dist/commands/add/__tests__/add.mocks.d.ts +0 -19
  195. package/dist/commands/add/__tests__/add.mocks.js +0 -60
  196. package/dist/commands/add/__tests__/add.mocks.js.map +0 -1
  197. package/dist/commands/add/__tests__/add.test.d.ts +0 -2
  198. package/dist/commands/add/__tests__/add.test.js +0 -141
  199. package/dist/commands/add/__tests__/add.test.js.map +0 -1
  200. package/dist/commands/init/__tests__/init.mocks.d.ts +0 -24
  201. package/dist/commands/init/__tests__/init.mocks.js +0 -84
  202. package/dist/commands/init/__tests__/init.mocks.js.map +0 -1
  203. package/dist/commands/init/__tests__/init.test.d.ts +0 -2
  204. package/dist/commands/init/__tests__/init.test.js +0 -283
  205. package/dist/commands/init/__tests__/init.test.js.map +0 -1
  206. package/dist/commands/init/__tests__/tailwind.test.d.ts +0 -1
  207. package/dist/commands/init/__tests__/tailwind.test.js +0 -56
  208. package/dist/commands/init/__tests__/tailwind.test.js.map +0 -1
  209. package/dist/commands/init/__tests__/tsconfig.test.d.ts +0 -1
  210. package/dist/commands/init/__tests__/tsconfig.test.js +0 -108
  211. package/dist/commands/init/__tests__/tsconfig.test.js.map +0 -1
  212. package/dist/commands/init/__tests__/vite.test.d.ts +0 -1
  213. package/dist/commands/init/__tests__/vite.test.js +0 -66
  214. package/dist/commands/init/__tests__/vite.test.js.map +0 -1
  215. package/dist/commands/list-sections.d.ts +0 -2
  216. package/dist/commands/list-sections.js +0 -20
  217. package/dist/commands/list-sections.js.map +0 -1
  218. package/dist/commands/list-wrappers.d.ts +0 -2
  219. package/dist/commands/list-wrappers.js +0 -20
  220. package/dist/commands/list-wrappers.js.map +0 -1
  221. package/dist/commands/remove-section.d.ts +0 -2
  222. package/dist/commands/remove-section.js +0 -37
  223. package/dist/commands/remove-section.js.map +0 -1
  224. package/dist/commands/remove-wrapper.d.ts +0 -2
  225. package/dist/commands/remove-wrapper.js +0 -37
  226. package/dist/commands/remove-wrapper.js.map +0 -1
  227. package/dist/lib/__tests__/config.test.d.ts +0 -1
  228. package/dist/lib/__tests__/config.test.js +0 -49
  229. package/dist/lib/__tests__/config.test.js.map +0 -1
  230. package/dist/lib/__tests__/install.test.d.ts +0 -1
  231. package/dist/lib/__tests__/install.test.js +0 -149
  232. package/dist/lib/__tests__/install.test.js.map +0 -1
  233. package/dist/lib/__tests__/lockfile.test.d.ts +0 -1
  234. package/dist/lib/__tests__/lockfile.test.js +0 -89
  235. package/dist/lib/__tests__/lockfile.test.js.map +0 -1
  236. package/dist/lib/__tests__/paths.test.d.ts +0 -1
  237. package/dist/lib/__tests__/paths.test.js +0 -39
  238. package/dist/lib/__tests__/paths.test.js.map +0 -1
  239. package/dist/lib/__tests__/registry.test.d.ts +0 -1
  240. package/dist/lib/__tests__/registry.test.js +0 -76
  241. package/dist/lib/__tests__/registry.test.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import { Command } from "commander";
2
- export declare const addCompositeCommand: Command;
1
+ import { Command } from "commander";
2
+ export declare const addCompositeCommand: Command;
@@ -1,202 +1,206 @@
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
- });
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
+ return;
43
+ }
44
+ spinner?.start("Loading configuration...");
45
+ const config = toAddConfig(await loadConfig(cwd));
46
+ spinner?.succeed("Configuration loaded");
47
+ spinner?.start("Loading registry and lockfile...");
48
+ const registry = await loadRegistry(config, cwd);
49
+ const lockfile = await loadLockfile(cwd);
50
+ spinner?.succeed("Registry and lockfile loaded");
51
+ const availableComposites = getRegistryComposites(registry);
52
+ if (availableComposites.length === 0) {
53
+ logger.error("No composites available in the registry.");
54
+ process.exit(1);
55
+ return;
56
+ }
57
+ let requestedComposites = normalizeEntryNames(composites);
58
+ if (requestedComposites.length === 0) {
59
+ logger.error("No composite names provided.");
60
+ process.exit(1);
61
+ return;
62
+ }
63
+ if (requestedComposites.includes("all")) {
64
+ const allComposites = getEntryNames(availableComposites);
65
+ if (shouldLog) {
66
+ console.log(chalk.yellow(`\nThis will install ${allComposites.length} composites:`));
67
+ console.log(chalk.gray(allComposites.join(", ")));
68
+ }
69
+ const shouldContinue = shouldPrompt
70
+ ? await confirmInstallation(`all ${allComposites.length} composites`)
71
+ : true;
72
+ if (!shouldContinue) {
73
+ logger.info("Installation cancelled");
74
+ process.exit(0);
75
+ return;
76
+ }
77
+ requestedComposites = allComposites;
78
+ }
79
+ spinner?.start("Validating composites...");
80
+ const validation = validateEntries(requestedComposites, availableComposites);
81
+ spinner?.stop();
82
+ if (validation.invalid.length > 0) {
83
+ logger.error("The following composites were not found:");
84
+ validation.invalid.forEach((name) => logger.error(` \u0007 ${name}`));
85
+ if (validation.suggestions.length > 0 && shouldLog) {
86
+ console.log(chalk.yellow("\nDid you mean:"));
87
+ validation.suggestions.forEach((suggestion) => console.log(chalk.gray(` \u0007 ${suggestion}`)));
88
+ }
89
+ process.exit(1);
90
+ return;
91
+ }
92
+ spinner?.start("Analyzing dependencies...");
93
+ const analysis = analyzeEntryDependencies(validation.valid, availableComposites, registry, lockfile, "composites");
94
+ spinner?.stop();
95
+ if (analysis.missingDependencies.length > 0) {
96
+ logger.error("Registry is missing required component dependencies:");
97
+ analysis.missingDependencies.forEach((name) => logger.error(` \u0007 ${name}`));
98
+ process.exit(1);
99
+ return;
100
+ }
101
+ if (shouldLog) {
102
+ displayInstallationPlan(analysis, options, COMPOSITE_LABELS);
103
+ }
104
+ let forceInstall = Boolean(options.force);
105
+ if (analysis.conflicts.length > 0 && !forceInstall) {
106
+ if (shouldLog) {
107
+ logger.warn("The following composites or dependencies already exist:");
108
+ analysis.conflicts.forEach((name) => logger.warn(` \u0007 ${name}`));
109
+ }
110
+ if (options.yes) {
111
+ forceInstall = true;
112
+ }
113
+ else if (shouldPrompt) {
114
+ const shouldOverwrite = await confirmOverwrite(COMPOSITE_LABELS.entryPlural);
115
+ if (!shouldOverwrite) {
116
+ logger.info("Installation cancelled");
117
+ process.exit(0);
118
+ return;
119
+ }
120
+ forceInstall = true;
121
+ }
122
+ }
123
+ const installCount = forceInstall
124
+ ? analysis.totalTargets
125
+ : analysis.totalToInstall;
126
+ if (shouldPrompt && installCount > 0) {
127
+ const label = analysis.componentDependencies.length > 0
128
+ ? `${installCount} item${installCount > 1 ? "s" : ""}`
129
+ : `${installCount} ${COMPOSITE_LABELS.entrySingular}${installCount > 1 ? "s" : ""}`;
130
+ const shouldInstall = await confirmInstallation(label);
131
+ if (!shouldInstall) {
132
+ logger.info("Installation cancelled");
133
+ process.exit(0);
134
+ return;
135
+ }
136
+ }
137
+ spinner?.start("Verifying project setup...");
138
+ await ensureProjectFiles(cwd, config);
139
+ spinner?.succeed("Project setup verified");
140
+ const dependenciesResult = analysis.componentDependencies.length > 0
141
+ ? await installEntries(registry.components, analysis.componentDependencies, lockfile.components, {
142
+ cwd,
143
+ config,
144
+ force: forceInstall,
145
+ spinner,
146
+ itemLabel: "component"
147
+ })
148
+ : createEmptyResult();
149
+ const compositesResult = await installEntries(availableComposites, validation.valid, lockfile.composites, {
150
+ cwd,
151
+ config,
152
+ force: forceInstall,
153
+ spinner,
154
+ itemLabel: "composite"
155
+ });
156
+ const npmDependencies = new Set();
157
+ dependenciesResult.npmDependencies.forEach((dep) => npmDependencies.add(dep));
158
+ compositesResult.npmDependencies.forEach((dep) => npmDependencies.add(dep));
159
+ spinner?.start("Updating lockfile...");
160
+ await saveLockfile(cwd, lockfile);
161
+ spinner?.succeed("Lockfile updated");
162
+ const combinedResult = {
163
+ entries: compositesResult,
164
+ dependencies: dependenciesResult,
165
+ npmDependencies,
166
+ conflicts: analysis.conflicts
167
+ };
168
+ if (npmDependencies.size > 0 && !options.skipDeps) {
169
+ const shouldInstallDeps = shouldPrompt
170
+ ? await confirmDependencyInstallation(npmDependencies)
171
+ : true;
172
+ if (shouldInstallDeps) {
173
+ await installNpmDependencies({
174
+ cwd,
175
+ dependencies: npmDependencies,
176
+ spinner
177
+ });
178
+ }
179
+ else {
180
+ if (shouldLog) {
181
+ await displayManualInstallInstructions(npmDependencies, cwd);
182
+ }
183
+ }
184
+ }
185
+ else if (npmDependencies.size > 0 && shouldLog) {
186
+ await displayManualInstallInstructions(npmDependencies, cwd);
187
+ }
188
+ if (shouldLog) {
189
+ displayResults(combinedResult, { ...options, force: forceInstall }, COMPOSITE_LABELS);
190
+ }
191
+ if (compositesResult.failed.length > 0 || dependenciesResult.failed.length > 0) {
192
+ process.exit(1);
193
+ return;
194
+ }
195
+ }
196
+ catch (error) {
197
+ spinner?.fail("Installation failed");
198
+ logger.error(error.message);
199
+ if (process.env.DEBUG) {
200
+ console.error(error);
201
+ }
202
+ process.exit(1);
203
+ return;
204
+ }
205
+ });
202
206
  //# sourceMappingURL=add-composite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-composite.js","sourceRoot":"","sources":["../../src/commands/add-composite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-composite.js","sourceRoot":"","sources":["../../src/commands/add-composite.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { Command } from "commander";
2
- export declare const addSectionCommand: Command;
1
+ import { Command } from "commander";
2
+ export declare const addSectionCommand: Command;