dcntui 0.1.6 → 0.1.8

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 (80) hide show
  1. package/dist/commands/add.d.ts +2 -0
  2. package/dist/commands/add.d.ts.map +1 -0
  3. package/dist/commands/add.js +204 -0
  4. package/dist/commands/add.js.map +1 -0
  5. package/dist/commands/config.d.ts +2 -0
  6. package/dist/commands/config.d.ts.map +1 -0
  7. package/dist/commands/config.js +68 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/doctor.d.ts +2 -0
  10. package/dist/commands/doctor.d.ts.map +1 -0
  11. package/dist/commands/doctor.js +348 -0
  12. package/dist/commands/doctor.js.map +1 -0
  13. package/dist/commands/init.d.ts.map +1 -1
  14. package/dist/commands/init.js +10 -153
  15. package/dist/commands/init.js.map +1 -1
  16. package/dist/commands/list.d.ts +6 -0
  17. package/dist/commands/list.d.ts.map +1 -0
  18. package/dist/commands/list.js +104 -0
  19. package/dist/commands/list.js.map +1 -0
  20. package/dist/commands/remove.d.ts +2 -0
  21. package/dist/commands/remove.d.ts.map +1 -0
  22. package/dist/commands/remove.js +87 -0
  23. package/dist/commands/remove.js.map +1 -0
  24. package/dist/commands/search.d.ts +2 -0
  25. package/dist/commands/search.d.ts.map +1 -0
  26. package/dist/commands/search.js +124 -0
  27. package/dist/commands/search.js.map +1 -0
  28. package/dist/commands/update.d.ts +6 -0
  29. package/dist/commands/update.d.ts.map +1 -0
  30. package/dist/commands/update.js +247 -0
  31. package/dist/commands/update.js.map +1 -0
  32. package/dist/constants.d.ts +4 -0
  33. package/dist/constants.d.ts.map +1 -0
  34. package/dist/constants.js +4 -0
  35. package/dist/constants.js.map +1 -0
  36. package/dist/index.js +27 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/utils/banner.d.ts.map +1 -1
  39. package/dist/utils/banner.js.map +1 -1
  40. package/dist/utils/config.d.ts +17 -0
  41. package/dist/utils/config.d.ts.map +1 -0
  42. package/dist/utils/config.js +41 -0
  43. package/dist/utils/config.js.map +1 -0
  44. package/dist/utils/detect-css.d.ts +6 -6
  45. package/dist/utils/detect-css.d.ts.map +1 -1
  46. package/dist/utils/detect-css.js +16 -12
  47. package/dist/utils/detect-css.js.map +1 -1
  48. package/dist/utils/detect-framework.d.ts +1 -1
  49. package/dist/utils/detect-framework.d.ts.map +1 -1
  50. package/dist/utils/detect-package-manager.d.ts +5 -0
  51. package/dist/utils/detect-package-manager.d.ts.map +1 -0
  52. package/dist/utils/detect-package-manager.js +40 -0
  53. package/dist/utils/detect-package-manager.js.map +1 -0
  54. package/dist/utils/detect-typescript.d.ts.map +1 -1
  55. package/dist/utils/detect-typescript.js.map +1 -1
  56. package/dist/utils/helpers.d.ts +1 -2
  57. package/dist/utils/helpers.d.ts.map +1 -1
  58. package/dist/utils/helpers.js +3 -13
  59. package/dist/utils/helpers.js.map +1 -1
  60. package/dist/utils/lock.d.ts +6 -0
  61. package/dist/utils/lock.d.ts.map +1 -0
  62. package/dist/utils/lock.js +30 -0
  63. package/dist/utils/lock.js.map +1 -0
  64. package/dist/utils/registry.d.ts +57 -0
  65. package/dist/utils/registry.d.ts.map +1 -0
  66. package/dist/utils/registry.js +158 -0
  67. package/dist/utils/registry.js.map +1 -0
  68. package/dist/utils/search.d.ts +21 -0
  69. package/dist/utils/search.d.ts.map +1 -0
  70. package/dist/utils/search.js +104 -0
  71. package/dist/utils/search.js.map +1 -0
  72. package/dist/utils/wizard.d.ts +12 -0
  73. package/dist/utils/wizard.d.ts.map +1 -0
  74. package/dist/utils/wizard.js +168 -0
  75. package/dist/utils/wizard.js.map +1 -0
  76. package/dist/utils/write-component.d.ts +13 -0
  77. package/dist/utils/write-component.d.ts.map +1 -0
  78. package/dist/utils/write-component.js +132 -0
  79. package/dist/utils/write-component.js.map +1 -0
  80. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export declare function addCommand(componentNames: string[]): Promise<void>;
2
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAmBA,wBAAsB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmSxE"}
@@ -0,0 +1,204 @@
1
+ import * as clack from '@clack/prompts';
2
+ import chalk from 'chalk';
3
+ import { spawnSync } from 'node:child_process';
4
+ import fs from 'node:fs';
5
+ import path from 'node:path';
6
+ import { readConfig, ConfigError } from '../utils/config.js';
7
+ import { resolveRegistryUrl, fetchComponent, fetchAny, isCollection, verifyPremiumToken, RegistryError } from '../utils/registry.js';
8
+ import { detectPackageManager, buildInstallArgs, getPackageRunner } from '../utils/detect-package-manager.js';
9
+ import { writeComponentFiles, patchStylesFile } from '../utils/write-component.js';
10
+ import { recordInstalled } from '../utils/lock.js';
11
+ export async function addCommand(componentNames) {
12
+ console.clear();
13
+ clack.intro(chalk.bgCyan.black(' DCNT UI ADD '));
14
+ const cwd = process.cwd();
15
+ const pm = detectPackageManager(cwd);
16
+ const packageRunner = getPackageRunner(pm);
17
+ let config;
18
+ try {
19
+ config = readConfig(cwd);
20
+ }
21
+ catch (err) {
22
+ if (err instanceof ConfigError) {
23
+ clack.log.error(chalk.red(err.message));
24
+ clack.outro(chalk.red('Aborted.'));
25
+ process.exit(1);
26
+ }
27
+ throw err;
28
+ }
29
+ const token = process.env['DCNTUI_TOKEN'] || config.premiumToken || undefined;
30
+ const expandedNames = [];
31
+ for (const name of componentNames) {
32
+ const spinner = clack.spinner();
33
+ spinner.start(`Resolving ${chalk.bold(name)}…`);
34
+ let meta;
35
+ try {
36
+ meta = await fetchAny(config, name, token);
37
+ }
38
+ catch (err) {
39
+ if (err instanceof RegistryError) {
40
+ spinner.stop(chalk.red(`Could not resolve ${chalk.bold(name)}.`));
41
+ clack.log.error(chalk.red(err.message));
42
+ if (componentNames.length === 1) {
43
+ clack.outro(chalk.red('Installation aborted.'));
44
+ process.exit(1);
45
+ }
46
+ continue;
47
+ }
48
+ throw err;
49
+ }
50
+ if (isCollection(meta)) {
51
+ spinner.stop(`${chalk.cyan('◈')} ${chalk.bold(meta.name)} ${chalk.gray('v' + meta.version)} — ` +
52
+ chalk.cyan(`collection of ${meta.components.length} components`));
53
+ clack.log.info(chalk.gray(` ${meta.description}\n`) + meta.components.map((c) => ` ${chalk.gray('+')} ${c}`).join('\n'));
54
+ if (meta.premium && !token) {
55
+ clack.log.error(chalk.red(`${chalk.bold(meta.name)} is a premium collection.\n\n` +
56
+ `Provide your token via:\n` +
57
+ ` ${chalk.cyan(`DCNTUI_TOKEN=<token> ${packageRunner} dcntui add ${name}`)}\n\n` +
58
+ `Get a token at ${chalk.underline('https://dcntui.com')}`));
59
+ if (componentNames.length === 1) {
60
+ clack.outro(chalk.red('Installation aborted.'));
61
+ process.exit(1);
62
+ }
63
+ continue;
64
+ }
65
+ const confirmed = await clack.confirm({
66
+ message: `Install all ${meta.components.length} components from ${chalk.bold(meta.name)}?`,
67
+ initialValue: true
68
+ });
69
+ if (clack.isCancel(confirmed) || !confirmed) {
70
+ clack.log.warn(chalk.yellow(`Skipped collection ${chalk.bold(meta.name)}.`));
71
+ continue;
72
+ }
73
+ expandedNames.push(...meta.components);
74
+ if (meta.postInstall.length > 0) {
75
+ clack.log.info(chalk.cyan(`${meta.name} notes:\n`) + meta.postInstall.map((note) => ` ${note}`).join('\n'));
76
+ }
77
+ }
78
+ else {
79
+ spinner.stop(`${chalk.cyan('◆')} ${chalk.bold(meta.name)} ${chalk.gray('v' + meta.version)}`);
80
+ expandedNames.push(name);
81
+ }
82
+ }
83
+ if (expandedNames.length === 0) {
84
+ clack.outro(chalk.yellow('Nothing to install.'));
85
+ return;
86
+ }
87
+ const uniqueNames = [...new Set(expandedNames)];
88
+ if (uniqueNames.length < expandedNames.length) {
89
+ const dupes = expandedNames.length - uniqueNames.length;
90
+ clack.log.info(chalk.gray(`Removed ${dupes} duplicate${dupes === 1 ? '' : 's'} from install list.`));
91
+ }
92
+ const results = [];
93
+ for (const componentName of uniqueNames) {
94
+ clack.log.step(chalk.cyan(`Installing ${chalk.bold(componentName)}…`));
95
+ const url = resolveRegistryUrl(config, componentName);
96
+ const spinner = clack.spinner();
97
+ spinner.start('Fetching from registry…');
98
+ let metadata;
99
+ try {
100
+ metadata = await fetchComponent(url, token);
101
+ spinner.stop(`Fetched ${chalk.bold(componentName)} v${metadata.version}`);
102
+ }
103
+ catch (err) {
104
+ if (err instanceof RegistryError) {
105
+ spinner.stop(chalk.red('Fetch failed.'));
106
+ clack.log.error(chalk.red(err.message));
107
+ if (uniqueNames.length > 1) {
108
+ results.push({ name: componentName, success: false });
109
+ continue;
110
+ }
111
+ clack.outro(chalk.red('Installation aborted.'));
112
+ process.exit(1);
113
+ }
114
+ throw err;
115
+ }
116
+ if (metadata.premium) {
117
+ if (!token) {
118
+ clack.log.error(chalk.red(`${chalk.bold(componentName)} is a premium component.\n\n` +
119
+ `Provide your token via:\n` +
120
+ ` ${chalk.cyan(`DCNTUI_TOKEN=<token> ${packageRunner} dcntui add ` + componentName)}\n` +
121
+ ` or add ${chalk.cyan('premiumToken')} to ${chalk.cyan('dcntui.config.json')}.\n\n` +
122
+ `Get a token at ${chalk.underline('https://dcntui.com')}`));
123
+ results.push({ name: componentName, success: false });
124
+ continue;
125
+ }
126
+ spinner.start('Verifying premium token…');
127
+ const valid = await verifyPremiumToken(config.registry, token);
128
+ if (!valid) {
129
+ spinner.stop(chalk.red('Token verification failed.'));
130
+ clack.log.error(chalk.red(`Your premium token is invalid or expired.\n\n` +
131
+ `Manage your subscription at ${chalk.underline('https://dcntui.com')}`));
132
+ results.push({ name: componentName, success: false });
133
+ continue;
134
+ }
135
+ spinner.stop(chalk.green('Premium token verified.'));
136
+ }
137
+ if (metadata.dependencies.length > 0) {
138
+ const pkgJsonPath = path.join(cwd, 'package.json');
139
+ const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
140
+ const installed = {
141
+ ...pkgJson['dependencies'],
142
+ ...pkgJson['devDependencies']
143
+ };
144
+ const missing = metadata.dependencies.filter((dep) => !(dep in installed));
145
+ if (missing.length > 0) {
146
+ clack.log.warn(chalk.yellow(`${chalk.bold(componentName)} requires the following ${missing.length === 1 ? 'package' : 'packages'}:\n\n` +
147
+ missing.map((d) => ` ${chalk.cyan(d)}`).join('\n')));
148
+ const shouldInstall = await clack.confirm({
149
+ message: `Install ${missing.length === 1 ? 'it' : 'them'} now using ${chalk.bold(pm)}?`,
150
+ initialValue: true
151
+ });
152
+ if (clack.isCancel(shouldInstall) || !shouldInstall) {
153
+ clack.log.warn(chalk.yellow(`Skipped dependency installation. You can install manually:\n` +
154
+ ` ${chalk.cyan(buildInstallArgs(pm, missing).join(' '))}`));
155
+ }
156
+ else {
157
+ const installSpinner = clack.spinner();
158
+ installSpinner.start(`Installing ${missing.join(', ')}…`);
159
+ const [cmd, ...args] = buildInstallArgs(pm, missing);
160
+ const result = spawnSync(cmd, args, { cwd, stdio: 'pipe', shell: true });
161
+ if (result.status !== 0) {
162
+ installSpinner.stop(chalk.red('Dependency installation failed.'));
163
+ clack.log.error(chalk.red(`Failed to install dependencies.\n\n` +
164
+ `Try running manually:\n` +
165
+ ` ${chalk.cyan(buildInstallArgs(pm, missing).join(' '))}`));
166
+ results.push({ name: componentName, success: false });
167
+ continue;
168
+ }
169
+ installSpinner.stop(chalk.green(`Installed ${missing.join(', ')}.`));
170
+ }
171
+ }
172
+ }
173
+ const written = writeComponentFiles(cwd, config, metadata);
174
+ for (const f of written) {
175
+ clack.log.success(chalk.green(` ${chalk.gray('+')} ${f}`));
176
+ }
177
+ const patched = patchStylesFile(cwd, config, metadata);
178
+ if (patched) {
179
+ clack.log.success(chalk.green(` ${chalk.gray('~')} ${config.stylesFile} ${chalk.gray('(patched)')}`));
180
+ }
181
+ if (metadata.postInstall.length > 0) {
182
+ clack.log.info(chalk.cyan('Post-install notes:\n') + metadata.postInstall.map((note) => ` ${note}`).join('\n'));
183
+ }
184
+ recordInstalled(cwd, metadata.name, metadata.version);
185
+ results.push({ name: componentName, success: true });
186
+ }
187
+ if (uniqueNames.length > 1) {
188
+ const succeeded = results.filter((r) => r.success);
189
+ const failed = results.filter((r) => !r.success);
190
+ clack.log.info([
191
+ '',
192
+ chalk.bold('Summary:'),
193
+ ...succeeded.map((r) => ` ${chalk.green('✓')} ${r.name}`),
194
+ ...failed.map((r) => ` ${chalk.red('✗')} ${r.name}`)
195
+ ].join('\n'));
196
+ }
197
+ const allFailed = results.every((r) => !r.success);
198
+ if (allFailed) {
199
+ clack.outro(chalk.red('No components were installed.'));
200
+ process.exit(1);
201
+ }
202
+ clack.outro(chalk.cyan('Done!'));
203
+ }
204
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function configCommand(): Promise<void>;
2
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAOA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkGnD"}
@@ -0,0 +1,68 @@
1
+ import * as clack from '@clack/prompts';
2
+ import chalk from 'chalk';
3
+ import { readConfig, ConfigError } from '../utils/config.js';
4
+ import { runConfigWizard } from '../utils/wizard.js';
5
+ import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
6
+ export async function configCommand() {
7
+ console.clear();
8
+ clack.intro(chalk.bgCyan.black(' DCNT UI CONFIG '));
9
+ const cwd = process.cwd();
10
+ const pm = detectPackageManager(cwd);
11
+ const packageRunner = getPackageRunner(pm);
12
+ let existing;
13
+ try {
14
+ existing = readConfig(cwd);
15
+ }
16
+ catch (err) {
17
+ if (err instanceof ConfigError) {
18
+ clack.log.error(chalk.red(err.message));
19
+ clack.outro(chalk.red(`Aborted. Run \`${packageRunner} dcntui init\` first.`));
20
+ process.exit(1);
21
+ }
22
+ throw err;
23
+ }
24
+ clack.log.info('Reconfiguring DCNT UI. Each prompt shows your current value — ' + chalk.gray('press Enter to keep it.'));
25
+ console.log();
26
+ const result = await runConfigWizard(cwd, {
27
+ existing: {
28
+ framework: existing.framework,
29
+ css: existing.css,
30
+ stylesFile: existing.stylesFile,
31
+ typescript: existing.typescript,
32
+ componentsDir: existing.componentsDir
33
+ }
34
+ });
35
+ const changed = [];
36
+ if (result.framework !== existing.framework)
37
+ changed.push(`framework ${chalk.gray(existing.framework)} → ${chalk.cyan(result.framework)}`);
38
+ if (result.css !== existing.css)
39
+ changed.push(`css ${chalk.gray(existing.css)} → ${chalk.cyan(result.css)}`);
40
+ if (result.stylesFile !== existing.stylesFile)
41
+ changed.push(`stylesFile ${chalk.gray(existing.stylesFile)} → ${chalk.cyan(result.stylesFile)}`);
42
+ if (result.typescript !== existing.typescript)
43
+ changed.push(`typescript ${chalk.gray(String(existing.typescript))} → ${chalk.cyan(String(result.typescript))}`);
44
+ if (result.componentsDir !== existing.componentsDir)
45
+ changed.push(`componentsDir ${chalk.gray(existing.componentsDir)} → ${chalk.cyan(result.componentsDir)}`);
46
+ if (changed.length === 0) {
47
+ clack.outro(chalk.cyan('No changes made — config is unchanged.'));
48
+ return;
49
+ }
50
+ clack.log.info(chalk.bold('Changes applied:\n') + changed.map((line) => ` ${line}`).join('\n'));
51
+ if (result.componentsDir !== existing.componentsDir) {
52
+ clack.log.warn(chalk.yellow(`Components directory changed from ${chalk.bold(existing.componentsDir)} to ${chalk.bold(result.componentsDir)}.\n\n` +
53
+ ` Existing components were installed at ${chalk.bold(existing.componentsDir)} and have NOT been moved.\n` +
54
+ ` To migrate: move the folder manually, then run ${chalk.cyan(`${packageRunner} dcntui doctor`)} to verify.`));
55
+ }
56
+ if (result.css !== existing.css) {
57
+ clack.log.warn(chalk.yellow(`CSS strategy changed from ${chalk.bold(existing.css)} to ${chalk.bold(result.css)}.\n\n` +
58
+ ` Any installed components were built for ${chalk.bold(existing.css)}.\n` +
59
+ ` Run ${chalk.cyan('npx dcntui update --all')} to reinstall them for the new strategy.`));
60
+ }
61
+ if (result.framework !== existing.framework) {
62
+ clack.log.warn(chalk.yellow(`Framework changed from ${chalk.bold(existing.framework)} to ${chalk.bold(result.framework)}.\n\n` +
63
+ ` Installed components were built for ${chalk.bold(existing.framework)}.\n` +
64
+ ` Run ${chalk.cyan(`${packageRunner} dcntui update --all`)} to reinstall them for the new framework.`));
65
+ }
66
+ clack.outro(chalk.cyan('Configuration updated successfully.'));
67
+ }
68
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function doctorCommand(): Promise<void>;
2
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAsXA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA2EnD"}