trix-ui 0.2.7 → 0.2.9

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 (206) hide show
  1. package/dist/__tests__/contracts/registry.test.d.ts +1 -0
  2. package/dist/__tests__/contracts/registry.test.js +42 -0
  3. package/dist/__tests__/contracts/registry.test.js.map +1 -0
  4. package/dist/__tests__/e2e/cli.test.d.ts +1 -0
  5. package/dist/__tests__/e2e/cli.test.js +67 -0
  6. package/dist/__tests__/e2e/cli.test.js.map +1 -0
  7. package/dist/__tests__/helpers/fs.d.ts +5 -0
  8. package/dist/__tests__/helpers/fs.js +26 -0
  9. package/dist/__tests__/helpers/fs.js.map +1 -0
  10. package/dist/__tests__/integration/commands.integration.test.d.ts +1 -0
  11. package/dist/__tests__/integration/commands.integration.test.js +184 -0
  12. package/dist/__tests__/integration/commands.integration.test.js.map +1 -0
  13. package/dist/commands/__tests__/add-composite.test.d.ts +2 -0
  14. package/dist/commands/__tests__/add-composite.test.js +171 -0
  15. package/dist/commands/__tests__/add-composite.test.js.map +1 -0
  16. package/dist/commands/__tests__/add-entry.mocks.d.ts +23 -0
  17. package/dist/commands/__tests__/add-entry.mocks.js +64 -0
  18. package/dist/commands/__tests__/add-entry.mocks.js.map +1 -0
  19. package/dist/commands/__tests__/add-section.test.d.ts +2 -0
  20. package/dist/commands/__tests__/add-section.test.js +191 -0
  21. package/dist/commands/__tests__/add-section.test.js.map +1 -0
  22. package/dist/commands/__tests__/add-wrapper.test.d.ts +2 -0
  23. package/dist/commands/__tests__/add-wrapper.test.js +171 -0
  24. package/dist/commands/__tests__/add-wrapper.test.js.map +1 -0
  25. package/dist/commands/__tests__/cli-mocks.d.ts +1 -0
  26. package/dist/commands/__tests__/cli-mocks.js +24 -0
  27. package/dist/commands/__tests__/cli-mocks.js.map +1 -0
  28. package/dist/commands/__tests__/doctor.mocks.d.ts +6 -0
  29. package/dist/commands/__tests__/doctor.mocks.js +20 -0
  30. package/dist/commands/__tests__/doctor.mocks.js.map +1 -0
  31. package/dist/commands/__tests__/doctor.test.d.ts +2 -0
  32. package/dist/commands/__tests__/doctor.test.js +80 -0
  33. package/dist/commands/__tests__/doctor.test.js.map +1 -0
  34. package/dist/commands/__tests__/list.mocks.d.ts +8 -0
  35. package/dist/commands/__tests__/list.mocks.js +20 -0
  36. package/dist/commands/__tests__/list.mocks.js.map +1 -0
  37. package/dist/commands/__tests__/list.test.d.ts +2 -0
  38. package/dist/commands/__tests__/list.test.js +60 -0
  39. package/dist/commands/__tests__/list.test.js.map +1 -0
  40. package/dist/commands/__tests__/remove.mocks.d.ts +9 -0
  41. package/dist/commands/__tests__/remove.mocks.js +26 -0
  42. package/dist/commands/__tests__/remove.mocks.js.map +1 -0
  43. package/dist/commands/__tests__/remove.test.d.ts +2 -0
  44. package/dist/commands/__tests__/remove.test.js +116 -0
  45. package/dist/commands/__tests__/remove.test.js.map +1 -0
  46. package/dist/commands/add/__tests__/add.mocks.d.ts +19 -19
  47. package/dist/commands/add/__tests__/add.mocks.js +59 -59
  48. package/dist/commands/add/__tests__/add.test.d.ts +2 -2
  49. package/dist/commands/add/__tests__/add.test.js +140 -140
  50. package/dist/commands/add/analysis.d.ts +4 -4
  51. package/dist/commands/add/analysis.js +56 -56
  52. package/dist/commands/add/command.d.ts +2 -2
  53. package/dist/commands/add/command.js +202 -202
  54. package/dist/commands/add/config.d.ts +2 -2
  55. package/dist/commands/add/config.js +11 -11
  56. package/dist/commands/add/install.d.ts +27 -27
  57. package/dist/commands/add/install.js +80 -80
  58. package/dist/commands/add/package-manager.d.ts +1 -1
  59. package/dist/commands/add/package-manager.js +4 -4
  60. package/dist/commands/add/project-files.d.ts +2 -2
  61. package/dist/commands/add/project-files.js +17 -17
  62. package/dist/commands/add/prompts.d.ts +3 -3
  63. package/dist/commands/add/prompts.js +28 -28
  64. package/dist/commands/add/registry.d.ts +4 -4
  65. package/dist/commands/add/registry.js +6 -6
  66. package/dist/commands/add/types.d.ts +33 -33
  67. package/dist/commands/add/types.js +1 -1
  68. package/dist/commands/add/ui.d.ts +4 -4
  69. package/dist/commands/add/ui.js +55 -55
  70. package/dist/commands/add/validation.d.ts +3 -3
  71. package/dist/commands/add/validation.js +30 -30
  72. package/dist/commands/add-collection.d.ts +1 -1
  73. package/dist/commands/add-collection.js +1 -1
  74. package/dist/commands/add-composite.d.ts +2 -2
  75. package/dist/commands/add-composite.js +201 -201
  76. package/dist/commands/add-section.d.ts +2 -2
  77. package/dist/commands/add-section.js +201 -201
  78. package/dist/commands/add-wrapper.d.ts +2 -2
  79. package/dist/commands/add-wrapper.js +201 -201
  80. package/dist/commands/add.d.ts +1 -1
  81. package/dist/commands/add.js +1 -1
  82. package/dist/commands/build.d.ts +2 -2
  83. package/dist/commands/doctor.d.ts +2 -2
  84. package/dist/commands/doctor.js +67 -67
  85. package/dist/commands/init/__tests__/init.mocks.d.ts +24 -0
  86. package/dist/commands/init/__tests__/init.mocks.js +84 -0
  87. package/dist/commands/init/__tests__/init.mocks.js.map +1 -0
  88. package/dist/commands/init/__tests__/init.test.d.ts +2 -0
  89. package/dist/commands/init/__tests__/init.test.js +283 -0
  90. package/dist/commands/init/__tests__/init.test.js.map +1 -0
  91. package/dist/commands/init/__tests__/tailwind.test.d.ts +1 -0
  92. package/dist/commands/init/__tests__/tailwind.test.js +56 -0
  93. package/dist/commands/init/__tests__/tailwind.test.js.map +1 -0
  94. package/dist/commands/init/__tests__/tsconfig.test.d.ts +1 -0
  95. package/dist/commands/init/__tests__/tsconfig.test.js +108 -0
  96. package/dist/commands/init/__tests__/tsconfig.test.js.map +1 -0
  97. package/dist/commands/init/__tests__/vite.test.d.ts +1 -0
  98. package/dist/commands/init/__tests__/vite.test.js +66 -0
  99. package/dist/commands/init/__tests__/vite.test.js.map +1 -0
  100. package/dist/commands/init/command.d.ts +2 -2
  101. package/dist/commands/init/command.js +114 -114
  102. package/dist/commands/init/config.d.ts +2 -2
  103. package/dist/commands/init/config.js +25 -25
  104. package/dist/commands/init/constants.d.ts +3 -3
  105. package/dist/commands/init/constants.js +105 -105
  106. package/dist/commands/init/dependencies.d.ts +5 -5
  107. package/dist/commands/init/dependencies.js +52 -52
  108. package/dist/commands/init/filesystem.d.ts +1 -1
  109. package/dist/commands/init/filesystem.js +10 -10
  110. package/dist/commands/init/lockfile.d.ts +1 -1
  111. package/dist/commands/init/lockfile.js +1 -1
  112. package/dist/commands/init/package-json.d.ts +6 -6
  113. package/dist/commands/init/package-json.js +18 -18
  114. package/dist/commands/init/project-files.d.ts +8 -0
  115. package/dist/commands/init/project-files.js +37 -0
  116. package/dist/commands/init/project-files.js.map +1 -0
  117. package/dist/commands/init/project.d.ts +3 -3
  118. package/dist/commands/init/project.js +97 -97
  119. package/dist/commands/init/style-imports.d.ts +9 -0
  120. package/dist/commands/init/style-imports.js +218 -0
  121. package/dist/commands/init/style-imports.js.map +1 -0
  122. package/dist/commands/init/tailwind.d.ts +3 -3
  123. package/dist/commands/init/tailwind.js +34 -34
  124. package/dist/commands/init/templates.d.ts +3 -3
  125. package/dist/commands/init/templates.js +15 -15
  126. package/dist/commands/init/tsconfig.d.ts +2 -2
  127. package/dist/commands/init/tsconfig.js +273 -273
  128. package/dist/commands/init/types.d.ts +33 -33
  129. package/dist/commands/init/types.js +1 -1
  130. package/dist/commands/init/ui.d.ts +3 -3
  131. package/dist/commands/init/ui.js +33 -33
  132. package/dist/commands/init/vite.d.ts +23 -0
  133. package/dist/commands/init/vite.js +347 -0
  134. package/dist/commands/init/vite.js.map +1 -0
  135. package/dist/commands/init.d.ts +1 -1
  136. package/dist/commands/init.js +1 -1
  137. package/dist/commands/list.d.ts +2 -2
  138. package/dist/commands/list.js +62 -62
  139. package/dist/commands/remove.d.ts +2 -2
  140. package/dist/commands/remove.js +93 -93
  141. package/dist/commands/shared/add-collection.d.ts +50 -50
  142. package/dist/commands/shared/add-collection.js +206 -206
  143. package/dist/commands/shared/list-entries.d.ts +6 -6
  144. package/dist/commands/shared/list-entries.js +12 -12
  145. package/dist/commands/shared/name-utils.d.ts +1 -1
  146. package/dist/commands/shared/name-utils.js +13 -13
  147. package/dist/commands/shared/remove-entries.d.ts +16 -16
  148. package/dist/commands/shared/remove-entries.js +41 -41
  149. package/dist/icons/index.d.ts +1 -1
  150. package/dist/icons/index.js +1 -1
  151. package/dist/icons/libraries.d.ts +37 -37
  152. package/dist/icons/libraries.js +34 -34
  153. package/dist/index.d.ts +2 -2
  154. package/dist/index.js +30 -30
  155. package/dist/lib/__tests__/config.test.d.ts +1 -0
  156. package/dist/lib/__tests__/config.test.js +49 -0
  157. package/dist/lib/__tests__/config.test.js.map +1 -0
  158. package/dist/lib/__tests__/install.test.d.ts +1 -0
  159. package/dist/lib/__tests__/install.test.js +149 -0
  160. package/dist/lib/__tests__/install.test.js.map +1 -0
  161. package/dist/lib/__tests__/lockfile.test.d.ts +1 -0
  162. package/dist/lib/__tests__/lockfile.test.js +89 -0
  163. package/dist/lib/__tests__/lockfile.test.js.map +1 -0
  164. package/dist/lib/__tests__/paths.test.d.ts +1 -0
  165. package/dist/lib/__tests__/paths.test.js +39 -0
  166. package/dist/lib/__tests__/paths.test.js.map +1 -0
  167. package/dist/lib/__tests__/registry.test.d.ts +1 -0
  168. package/dist/lib/__tests__/registry.test.js +76 -0
  169. package/dist/lib/__tests__/registry.test.js.map +1 -0
  170. package/dist/lib/config.d.ts +45 -45
  171. package/dist/lib/config.js +97 -97
  172. package/dist/lib/fs.d.ts +76 -76
  173. package/dist/lib/fs.js +302 -302
  174. package/dist/lib/highlighter.d.ts +6 -6
  175. package/dist/lib/highlighter.js +7 -7
  176. package/dist/lib/install.d.ts +19 -19
  177. package/dist/lib/install.js +55 -55
  178. package/dist/lib/lockfile.d.ts +63 -63
  179. package/dist/lib/lockfile.js +173 -173
  180. package/dist/lib/logger.d.ts +8 -8
  181. package/dist/lib/logger.js +41 -41
  182. package/dist/lib/paths.d.ts +14 -14
  183. package/dist/lib/paths.js +31 -31
  184. package/dist/lib/registry.d.ts +35 -35
  185. package/dist/lib/registry.js +180 -180
  186. package/dist/schema/index.d.ts +1128 -1128
  187. package/dist/schema/index.js +238 -238
  188. package/dist/styles/create-style-map.d.ts +4 -4
  189. package/dist/styles/create-style-map.js +68 -68
  190. package/dist/styles/transform-style-map.d.ts +3 -3
  191. package/dist/styles/transform-style-map.js +428 -428
  192. package/dist/styles/transform.d.ts +10 -10
  193. package/dist/styles/transform.js +15 -15
  194. package/dist/utils/index.d.ts +6 -6
  195. package/dist/utils/index.js +5 -5
  196. package/dist/utils/transformers/transform-icons.d.ts +2 -2
  197. package/dist/utils/transformers/transform-icons.js +164 -164
  198. package/dist/utils/transformers/transform-menu.d.ts +2 -2
  199. package/dist/utils/transformers/transform-menu.js +39 -39
  200. package/dist/utils/transformers/transform-render.d.ts +2 -2
  201. package/dist/utils/transformers/transform-render.js +97 -97
  202. package/dist/utils/transformers/types.d.ts +14 -14
  203. package/dist/utils/transformers/types.js +1 -1
  204. package/package.json +68 -68
  205. package/templates/lib/utils.js +7 -0
  206. package/templates/styles/globals.css +85 -67
@@ -1,63 +1,63 @@
1
- import chalk from "chalk";
2
- import { Command } from "commander";
3
- import { getRegistryComposites, getRegistrySections, getRegistryWrappers, loadBundledRegistry } from "../lib/registry.js";
4
- function printGroup(title, entries) {
5
- const count = entries.length;
6
- console.log(`${chalk.bold(title)} ${chalk.gray(`(${count})`)}`);
7
- if (count === 0) {
8
- console.log(chalk.gray(" (none)"));
9
- return;
10
- }
11
- for (const entry of entries) {
12
- console.log(` - ${chalk.cyan(entry.name)} ${chalk.gray("-")} ${entry.description}`);
13
- }
14
- }
15
- export const listCommand = new Command("list")
16
- .description("List available components, sections, wrappers, and composites in the registry")
17
- .option("-t, --type <type>", "filter by type: components, sections, wrappers, composites, or all", "all")
18
- .action(async () => {
19
- try {
20
- const registry = await loadBundledRegistry();
21
- const sections = getRegistrySections(registry);
22
- const wrappers = getRegistryWrappers(registry);
23
- const composites = getRegistryComposites(registry);
24
- const type = String(listCommand.opts().type || "all").toLowerCase();
25
- const filter = type;
26
- if (filter !== "components" &&
27
- filter !== "sections" &&
28
- filter !== "wrappers" &&
29
- filter !== "composites" &&
30
- filter !== "all") {
31
- console.error(`Invalid type: ${type}. Use components, sections, wrappers, composites, or all.`);
32
- process.exit(1);
33
- }
34
- console.log(chalk.bold("Registry Catalog"));
35
- console.log(chalk.gray("--------------------------------------------------"));
36
- if (filter === "components" || filter === "all") {
37
- printGroup("Components", registry.components);
38
- if (filter === "all") {
39
- console.log();
40
- }
41
- }
42
- if (filter === "sections" || filter === "all") {
43
- printGroup("Sections", sections);
44
- if (filter === "all") {
45
- console.log();
46
- }
47
- }
48
- if (filter === "wrappers" || filter === "all") {
49
- printGroup("Wrappers", wrappers);
50
- if (filter === "all") {
51
- console.log();
52
- }
53
- }
54
- if (filter === "composites" || filter === "all") {
55
- printGroup("Composites", composites);
56
- }
57
- }
58
- catch (error) {
59
- console.error(error.message);
60
- process.exit(1);
61
- }
62
- });
1
+ import chalk from "chalk";
2
+ import { Command } from "commander";
3
+ import { getRegistryComposites, getRegistrySections, getRegistryWrappers, loadBundledRegistry } from "../lib/registry.js";
4
+ function printGroup(title, entries) {
5
+ const count = entries.length;
6
+ console.log(`${chalk.bold(title)} ${chalk.gray(`(${count})`)}`);
7
+ if (count === 0) {
8
+ console.log(chalk.gray(" (none)"));
9
+ return;
10
+ }
11
+ for (const entry of entries) {
12
+ console.log(` - ${chalk.cyan(entry.name)} ${chalk.gray("-")} ${entry.description}`);
13
+ }
14
+ }
15
+ export const listCommand = new Command("list")
16
+ .description("List available components, sections, wrappers, and composites in the registry")
17
+ .option("-t, --type <type>", "filter by type: components, sections, wrappers, composites, or all", "all")
18
+ .action(async () => {
19
+ try {
20
+ const registry = await loadBundledRegistry();
21
+ const sections = getRegistrySections(registry);
22
+ const wrappers = getRegistryWrappers(registry);
23
+ const composites = getRegistryComposites(registry);
24
+ const type = String(listCommand.opts().type || "all").toLowerCase();
25
+ const filter = type;
26
+ if (filter !== "components" &&
27
+ filter !== "sections" &&
28
+ filter !== "wrappers" &&
29
+ filter !== "composites" &&
30
+ filter !== "all") {
31
+ console.error(`Invalid type: ${type}. Use components, sections, wrappers, composites, or all.`);
32
+ process.exit(1);
33
+ }
34
+ console.log(chalk.bold("Registry Catalog"));
35
+ console.log(chalk.gray("--------------------------------------------------"));
36
+ if (filter === "components" || filter === "all") {
37
+ printGroup("Components", registry.components);
38
+ if (filter === "all") {
39
+ console.log();
40
+ }
41
+ }
42
+ if (filter === "sections" || filter === "all") {
43
+ printGroup("Sections", sections);
44
+ if (filter === "all") {
45
+ console.log();
46
+ }
47
+ }
48
+ if (filter === "wrappers" || filter === "all") {
49
+ printGroup("Wrappers", wrappers);
50
+ if (filter === "all") {
51
+ console.log();
52
+ }
53
+ }
54
+ if (filter === "composites" || filter === "all") {
55
+ printGroup("Composites", composites);
56
+ }
57
+ }
58
+ catch (error) {
59
+ console.error(error.message);
60
+ process.exit(1);
61
+ }
62
+ });
63
63
  //# sourceMappingURL=list.js.map
@@ -1,2 +1,2 @@
1
- import { Command } from "commander";
2
- export declare const removeCommand: Command;
1
+ import { Command } from "commander";
2
+ export declare const removeCommand: Command;
@@ -1,94 +1,94 @@
1
- import path from "node:path";
2
- import { Command } from "commander";
3
- import { loadConfig } from "../lib/config.js";
4
- import { loadLockfile, saveLockfile } from "../lib/lockfile.js";
5
- import { getRegistryComposites, getRegistrySections, getRegistryWrappers, loadRegistry } from "../lib/registry.js";
6
- import { removeEntries } from "./shared/remove-entries.js";
7
- function toNameList(value) {
8
- if (!value) {
9
- return [];
10
- }
11
- return Array.isArray(value) ? value : [value];
12
- }
13
- export const removeCommand = new Command("remove")
14
- .description("Remove components, sections, wrappers, or composites from your project")
15
- .argument("[components...]", "component names")
16
- .option("--force", "remove files even if not tracked in lockfile")
17
- .option("-c, --cwd <path>", "working directory to remove items")
18
- .option("-s, --section <sections...>", "remove sections")
19
- .option("-w, --wrapper <wrappers...>", "remove wrappers")
20
- .option("--composite <composites...>", "remove composites")
21
- .action(async (components, options) => {
22
- try {
23
- const sectionNames = toNameList(options.section);
24
- const wrapperNames = toNameList(options.wrapper);
25
- const compositeNames = toNameList(options.composite);
26
- const hasSections = sectionNames.length > 0;
27
- const hasWrappers = wrapperNames.length > 0;
28
- const hasComposites = compositeNames.length > 0;
29
- const hasComponents = components.length > 0;
30
- const selectedTypes = [hasComponents, hasSections, hasWrappers, hasComposites]
31
- .filter(Boolean)
32
- .length;
33
- if (selectedTypes === 0) {
34
- console.error("Provide component names or use --section/--wrapper/--composite.");
35
- process.exit(1);
36
- }
37
- if (selectedTypes > 1) {
38
- console.error("Choose only one target type: components (positional), --section, --wrapper, or --composite.");
39
- process.exit(1);
40
- }
41
- const cwd = path.resolve(options.cwd || process.cwd());
42
- const config = await loadConfig(cwd);
43
- const registry = await loadRegistry(config, cwd);
44
- const lockfile = await loadLockfile(cwd);
45
- const targetLabel = hasSections
46
- ? "sections"
47
- : hasWrappers
48
- ? "wrappers"
49
- : hasComposites
50
- ? "composites"
51
- : "components";
52
- const registryEntries = hasSections
53
- ? getRegistrySections(registry)
54
- : hasWrappers
55
- ? getRegistryWrappers(registry)
56
- : hasComposites
57
- ? getRegistryComposites(registry)
58
- : registry.components;
59
- const lockEntries = hasSections
60
- ? lockfile.sections
61
- : hasWrappers
62
- ? lockfile.wrappers
63
- : hasComposites
64
- ? lockfile.composites
65
- : lockfile.components;
66
- const names = hasSections
67
- ? sectionNames
68
- : hasWrappers
69
- ? wrapperNames
70
- : hasComposites
71
- ? compositeNames
72
- : components;
73
- const { removed, skipped } = await removeEntries({
74
- cwd,
75
- config,
76
- registryEntries,
77
- lockEntries,
78
- names,
79
- force: Boolean(options.force)
80
- });
81
- await saveLockfile(cwd, lockfile);
82
- if (removed.length) {
83
- console.log(`Removed ${targetLabel}: ${removed.join(", ")}`);
84
- }
85
- if (skipped.length) {
86
- console.log(`Skipped ${targetLabel} (not installed): ${skipped.join(", ")}`);
87
- }
88
- }
89
- catch (error) {
90
- console.error(error.message);
91
- process.exit(1);
92
- }
93
- });
1
+ import path from "node:path";
2
+ import { Command } from "commander";
3
+ import { loadConfig } from "../lib/config.js";
4
+ import { loadLockfile, saveLockfile } from "../lib/lockfile.js";
5
+ import { getRegistryComposites, getRegistrySections, getRegistryWrappers, loadRegistry } from "../lib/registry.js";
6
+ import { removeEntries } from "./shared/remove-entries.js";
7
+ function toNameList(value) {
8
+ if (!value) {
9
+ return [];
10
+ }
11
+ return Array.isArray(value) ? value : [value];
12
+ }
13
+ export const removeCommand = new Command("remove")
14
+ .description("Remove components, sections, wrappers, or composites from your project")
15
+ .argument("[components...]", "component names")
16
+ .option("--force", "remove files even if not tracked in lockfile")
17
+ .option("-c, --cwd <path>", "working directory to remove items")
18
+ .option("-s, --section <sections...>", "remove sections")
19
+ .option("-w, --wrapper <wrappers...>", "remove wrappers")
20
+ .option("--composite <composites...>", "remove composites")
21
+ .action(async (components, options) => {
22
+ try {
23
+ const sectionNames = toNameList(options.section);
24
+ const wrapperNames = toNameList(options.wrapper);
25
+ const compositeNames = toNameList(options.composite);
26
+ const hasSections = sectionNames.length > 0;
27
+ const hasWrappers = wrapperNames.length > 0;
28
+ const hasComposites = compositeNames.length > 0;
29
+ const hasComponents = components.length > 0;
30
+ const selectedTypes = [hasComponents, hasSections, hasWrappers, hasComposites]
31
+ .filter(Boolean)
32
+ .length;
33
+ if (selectedTypes === 0) {
34
+ console.error("Provide component names or use --section/--wrapper/--composite.");
35
+ process.exit(1);
36
+ }
37
+ if (selectedTypes > 1) {
38
+ console.error("Choose only one target type: components (positional), --section, --wrapper, or --composite.");
39
+ process.exit(1);
40
+ }
41
+ const cwd = path.resolve(options.cwd || process.cwd());
42
+ const config = await loadConfig(cwd);
43
+ const registry = await loadRegistry(config, cwd);
44
+ const lockfile = await loadLockfile(cwd);
45
+ const targetLabel = hasSections
46
+ ? "sections"
47
+ : hasWrappers
48
+ ? "wrappers"
49
+ : hasComposites
50
+ ? "composites"
51
+ : "components";
52
+ const registryEntries = hasSections
53
+ ? getRegistrySections(registry)
54
+ : hasWrappers
55
+ ? getRegistryWrappers(registry)
56
+ : hasComposites
57
+ ? getRegistryComposites(registry)
58
+ : registry.components;
59
+ const lockEntries = hasSections
60
+ ? lockfile.sections
61
+ : hasWrappers
62
+ ? lockfile.wrappers
63
+ : hasComposites
64
+ ? lockfile.composites
65
+ : lockfile.components;
66
+ const names = hasSections
67
+ ? sectionNames
68
+ : hasWrappers
69
+ ? wrapperNames
70
+ : hasComposites
71
+ ? compositeNames
72
+ : components;
73
+ const { removed, skipped } = await removeEntries({
74
+ cwd,
75
+ config,
76
+ registryEntries,
77
+ lockEntries,
78
+ names,
79
+ force: Boolean(options.force)
80
+ });
81
+ await saveLockfile(cwd, lockfile);
82
+ if (removed.length) {
83
+ console.log(`Removed ${targetLabel}: ${removed.join(", ")}`);
84
+ }
85
+ if (skipped.length) {
86
+ console.log(`Skipped ${targetLabel} (not installed): ${skipped.join(", ")}`);
87
+ }
88
+ }
89
+ catch (error) {
90
+ console.error(error.message);
91
+ process.exit(1);
92
+ }
93
+ });
94
94
  //# sourceMappingURL=remove.js.map
@@ -1,50 +1,50 @@
1
- import type { Ora } from "ora";
2
- import type { Lockfile, LockfileComponent } from "../../lib/lockfile.js";
3
- import type { RegistryIndex, RegistryItem } from "../../lib/registry.js";
4
- import type { AddConfig, AddOptions } from "../add/types.js";
5
- export interface EntryValidation {
6
- valid: string[];
7
- invalid: string[];
8
- suggestions: string[];
9
- }
10
- export interface EntryDependencyAnalysis {
11
- entries: string[];
12
- componentDependencies: string[];
13
- npmDependencies: Set<string>;
14
- conflicts: string[];
15
- totalTargets: number;
16
- totalToInstall: number;
17
- missingDependencies: string[];
18
- }
19
- export interface EntryInstallResult {
20
- installed: string[];
21
- skipped: string[];
22
- failed: string[];
23
- npmDependencies: Set<string>;
24
- }
25
- export interface CollectionInstallResult {
26
- entries: EntryInstallResult;
27
- dependencies: EntryInstallResult;
28
- npmDependencies: Set<string>;
29
- conflicts: string[];
30
- }
31
- export interface EntryLabels {
32
- entrySingular: string;
33
- entryPlural: string;
34
- }
35
- export declare function normalizeEntryNames(names: string[]): string[];
36
- export declare function getEntryNames(entries: RegistryItem[]): string[];
37
- export declare function createEntryMap(entries: RegistryItem[]): Map<string, RegistryItem>;
38
- export declare function validateEntries(names: string[], entries: RegistryItem[]): EntryValidation;
39
- export declare function analyzeEntryDependencies(names: string[], entries: RegistryItem[], registry: RegistryIndex, lockfile: Lockfile, lockKey: "sections" | "wrappers" | "composites"): EntryDependencyAnalysis;
40
- export declare function confirmOverwrite(entryPlural: string): Promise<boolean>;
41
- export declare function displayInstallationPlan(analysis: EntryDependencyAnalysis, options: AddOptions, labels: EntryLabels): void;
42
- export declare function displayResults(result: CollectionInstallResult, options: AddOptions, labels: EntryLabels): void;
43
- export declare function installEntries(entries: RegistryItem[], names: string[], lockEntries: Record<string, LockfileComponent>, options: {
44
- cwd: string;
45
- config: AddConfig;
46
- force: boolean;
47
- spinner: Ora | null;
48
- itemLabel: string;
49
- }): Promise<EntryInstallResult>;
50
- export declare function createEmptyResult(): EntryInstallResult;
1
+ import type { Ora } from "ora";
2
+ import type { Lockfile, LockfileComponent } from "../../lib/lockfile.js";
3
+ import type { RegistryIndex, RegistryItem } from "../../lib/registry.js";
4
+ import type { AddConfig, AddOptions } from "../add/types.js";
5
+ export interface EntryValidation {
6
+ valid: string[];
7
+ invalid: string[];
8
+ suggestions: string[];
9
+ }
10
+ export interface EntryDependencyAnalysis {
11
+ entries: string[];
12
+ componentDependencies: string[];
13
+ npmDependencies: Set<string>;
14
+ conflicts: string[];
15
+ totalTargets: number;
16
+ totalToInstall: number;
17
+ missingDependencies: string[];
18
+ }
19
+ export interface EntryInstallResult {
20
+ installed: string[];
21
+ skipped: string[];
22
+ failed: string[];
23
+ npmDependencies: Set<string>;
24
+ }
25
+ export interface CollectionInstallResult {
26
+ entries: EntryInstallResult;
27
+ dependencies: EntryInstallResult;
28
+ npmDependencies: Set<string>;
29
+ conflicts: string[];
30
+ }
31
+ export interface EntryLabels {
32
+ entrySingular: string;
33
+ entryPlural: string;
34
+ }
35
+ export declare function normalizeEntryNames(names: string[]): string[];
36
+ export declare function getEntryNames(entries: RegistryItem[]): string[];
37
+ export declare function createEntryMap(entries: RegistryItem[]): Map<string, RegistryItem>;
38
+ export declare function validateEntries(names: string[], entries: RegistryItem[]): EntryValidation;
39
+ export declare function analyzeEntryDependencies(names: string[], entries: RegistryItem[], registry: RegistryIndex, lockfile: Lockfile, lockKey: "sections" | "wrappers" | "composites"): EntryDependencyAnalysis;
40
+ export declare function confirmOverwrite(entryPlural: string): Promise<boolean>;
41
+ export declare function displayInstallationPlan(analysis: EntryDependencyAnalysis, options: AddOptions, labels: EntryLabels): void;
42
+ export declare function displayResults(result: CollectionInstallResult, options: AddOptions, labels: EntryLabels): void;
43
+ export declare function installEntries(entries: RegistryItem[], names: string[], lockEntries: Record<string, LockfileComponent>, options: {
44
+ cwd: string;
45
+ config: AddConfig;
46
+ force: boolean;
47
+ spinner: Ora | null;
48
+ itemLabel: string;
49
+ }): Promise<EntryInstallResult>;
50
+ export declare function createEmptyResult(): EntryInstallResult;