dcntui 0.1.9 → 0.1.11
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/dist/commands/add.d.ts +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +24 -95
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +30 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/constants.d.ts +1 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.js +9 -24
- package/dist/index.js.map +1 -1
- package/dist/utils/banner.d.ts.map +1 -1
- package/dist/utils/banner.js +7 -10
- package/dist/utils/banner.js.map +1 -1
- package/dist/utils/config.d.ts +0 -4
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +22 -21
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/detect-css.d.ts +2 -3
- package/dist/utils/detect-css.d.ts.map +1 -1
- package/dist/utils/detect-css.js +5 -114
- package/dist/utils/detect-css.js.map +1 -1
- package/dist/utils/detect-framework.d.ts.map +1 -1
- package/dist/utils/detect-framework.js +2 -9
- package/dist/utils/detect-framework.js.map +1 -1
- package/dist/utils/detect-package-manager.d.ts.map +1 -1
- package/dist/utils/detect-package-manager.js +15 -25
- package/dist/utils/detect-package-manager.js.map +1 -1
- package/dist/utils/detect-typescript.d.ts.map +1 -1
- package/dist/utils/detect-typescript.js +1 -7
- package/dist/utils/detect-typescript.js.map +1 -1
- package/dist/utils/helpers.d.ts +5 -3
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +3 -3
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/registry.d.ts +3 -35
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +58 -120
- package/dist/utils/registry.js.map +1 -1
- package/dist/utils/wizard.d.ts +0 -1
- package/dist/utils/wizard.d.ts.map +1 -1
- package/dist/utils/wizard.js +73 -135
- package/dist/utils/wizard.js.map +1 -1
- package/dist/utils/write-component.d.ts +0 -9
- package/dist/utils/write-component.d.ts.map +1 -1
- package/dist/utils/write-component.js +2 -121
- package/dist/utils/write-component.js.map +1 -1
- package/package.json +8 -7
- package/dist/commands/config.d.ts +0 -2
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -68
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -2
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -348
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/list.d.ts +0 -6
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -104
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/remove.d.ts +0 -2
- package/dist/commands/remove.d.ts.map +0 -1
- package/dist/commands/remove.js +0 -87
- package/dist/commands/remove.js.map +0 -1
- package/dist/commands/search.d.ts +0 -2
- package/dist/commands/search.d.ts.map +0 -1
- package/dist/commands/search.js +0 -124
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/update.d.ts +0 -6
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -247
- package/dist/commands/update.js.map +0 -1
- package/dist/utils/lock.d.ts +0 -6
- package/dist/utils/lock.d.ts.map +0 -1
- package/dist/utils/lock.js +0 -30
- package/dist/utils/lock.js.map +0 -1
- package/dist/utils/search.d.ts +0 -21
- package/dist/utils/search.d.ts.map +0 -1
- package/dist/utils/search.js +0 -104
- package/dist/utils/search.js.map +0 -1
package/dist/commands/config.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAsXA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA2EnD"}
|
package/dist/commands/doctor.js
DELETED
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import * as clack from '@clack/prompts';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import fs from 'node:fs';
|
|
4
|
-
import path from 'node:path';
|
|
5
|
-
import { readConfig, ConfigError } from '../utils/config.js';
|
|
6
|
-
import { detectFramework, FRAMEWORK_OPTIONS } from '../utils/detect-framework.js';
|
|
7
|
-
import { detectCss } from '../utils/detect-css.js';
|
|
8
|
-
import { detectTypeScript } from '../utils/detect-typescript.js';
|
|
9
|
-
import { verifyPremiumToken } from '../utils/registry.js';
|
|
10
|
-
import { readLock } from '../utils/lock.js';
|
|
11
|
-
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
12
|
-
const ICONS = {
|
|
13
|
-
pass: chalk.green('✔'),
|
|
14
|
-
warn: chalk.yellow('⚠'),
|
|
15
|
-
fail: chalk.red('✖')
|
|
16
|
-
};
|
|
17
|
-
function renderCheck(result) {
|
|
18
|
-
const icon = ICONS[result.status];
|
|
19
|
-
const label = result.status === 'pass'
|
|
20
|
-
? chalk.white(result.label)
|
|
21
|
-
: result.status === 'warn'
|
|
22
|
-
? chalk.yellow(result.label)
|
|
23
|
-
: chalk.red(result.label);
|
|
24
|
-
console.log(` ${icon} ${label}`);
|
|
25
|
-
if (result.detail) {
|
|
26
|
-
const lines = result.detail.split('\n');
|
|
27
|
-
for (const line of lines) {
|
|
28
|
-
console.log(` ${chalk.gray(line)}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function checkConfig(cwd) {
|
|
33
|
-
try {
|
|
34
|
-
const config = readConfig(cwd);
|
|
35
|
-
return {
|
|
36
|
-
result: { label: 'Config valid', status: 'pass' },
|
|
37
|
-
config
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
return {
|
|
42
|
-
result: {
|
|
43
|
-
label: 'Config valid',
|
|
44
|
-
status: 'fail',
|
|
45
|
-
detail: err instanceof ConfigError ? err.message : 'Unexpected error reading dcntui.config.json.'
|
|
46
|
-
},
|
|
47
|
-
config: null
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function checkFrameworkConsistency(cwd, config) {
|
|
52
|
-
const detected = detectFramework(cwd);
|
|
53
|
-
const configured = config.framework;
|
|
54
|
-
const pm = detectPackageManager(cwd);
|
|
55
|
-
const packageRunner = getPackageRunner(pm);
|
|
56
|
-
if (detected === null) {
|
|
57
|
-
return {
|
|
58
|
-
label: 'Framework consistency',
|
|
59
|
-
status: 'warn',
|
|
60
|
-
detail: `Config says: ${chalk.cyan(configured)}\n` +
|
|
61
|
-
`Detected: ${chalk.yellow('none')}\n` +
|
|
62
|
-
'Could not detect a framework from package.json. Config may be from a different directory.'
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
if (detected !== configured) {
|
|
66
|
-
const detectedLabel = FRAMEWORK_OPTIONS.find((f) => f.value === detected)?.label ?? detected;
|
|
67
|
-
const configuredLabel = FRAMEWORK_OPTIONS.find((f) => f.value === configured)?.label ?? configured;
|
|
68
|
-
return {
|
|
69
|
-
label: 'Framework consistency',
|
|
70
|
-
status: 'warn',
|
|
71
|
-
detail: `Config says: ${chalk.cyan(configuredLabel)}\n` +
|
|
72
|
-
`Detected: ${chalk.yellow(detectedLabel)}\n` +
|
|
73
|
-
`Run ${chalk.cyan(`${packageRunner} dcntui init`)} to update your config if your framework has changed.`
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
const label = FRAMEWORK_OPTIONS.find((f) => f.value === configured)?.label ?? configured;
|
|
77
|
-
return {
|
|
78
|
-
label: `Framework: ${label}`,
|
|
79
|
-
status: 'pass'
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
function checkCssIntegration(cwd, config) {
|
|
83
|
-
const detected = detectCss(cwd);
|
|
84
|
-
const pm = detectPackageManager(cwd);
|
|
85
|
-
const packageRunner = getPackageRunner(pm);
|
|
86
|
-
if (detected !== config.css) {
|
|
87
|
-
return {
|
|
88
|
-
label: 'CSS integration',
|
|
89
|
-
status: 'warn',
|
|
90
|
-
detail: `Config says: ${chalk.cyan(config.css)}\n` +
|
|
91
|
-
`Detected: ${chalk.yellow(detected ?? 'none')}\n` +
|
|
92
|
-
`Run ${chalk.cyan(`${packageRunner} dcntui init`)} to update your config if your CSS strategy has changed.`
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
const stylesPath = path.join(cwd, config.stylesFile);
|
|
96
|
-
if (!fs.existsSync(stylesPath)) {
|
|
97
|
-
return {
|
|
98
|
-
label: 'CSS integration',
|
|
99
|
-
status: 'warn',
|
|
100
|
-
detail: `Styles file not found: ${chalk.yellow(config.stylesFile)}\n` +
|
|
101
|
-
`Create it or update ${chalk.cyan('stylesFile')} in dcntui.config.json.`
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
if (config.css === 'tailwind-v4') {
|
|
105
|
-
const content = fs.readFileSync(stylesPath, 'utf-8');
|
|
106
|
-
if (!/@import\s+['"]tailwindcss['"]/.test(content)) {
|
|
107
|
-
return {
|
|
108
|
-
label: 'Tailwind v4 integration',
|
|
109
|
-
status: 'warn',
|
|
110
|
-
detail: `${config.stylesFile} is missing ${chalk.cyan('@import "tailwindcss"')}.\n` +
|
|
111
|
-
'Add it to the top of your base styles file to enable Tailwind v4.'
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
return { label: 'Tailwind v4 integration', status: 'pass' };
|
|
115
|
-
}
|
|
116
|
-
if (config.css === 'tailwind-v3') {
|
|
117
|
-
const hasConfig = fs.existsSync(path.join(cwd, 'tailwind.config.js')) || fs.existsSync(path.join(cwd, 'tailwind.config.ts'));
|
|
118
|
-
if (!hasConfig) {
|
|
119
|
-
return {
|
|
120
|
-
label: 'Tailwind v3 integration',
|
|
121
|
-
status: 'warn',
|
|
122
|
-
detail: 'No tailwind.config.js or tailwind.config.ts found.\n' + 'Create one to enable Tailwind v3.'
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return { label: 'Tailwind v3 integration', status: 'pass' };
|
|
126
|
-
}
|
|
127
|
-
return { label: `CSS: ${config.css}`, status: 'pass' };
|
|
128
|
-
}
|
|
129
|
-
function checkTypeScriptConsistency(cwd, config) {
|
|
130
|
-
const detected = detectTypeScript(cwd);
|
|
131
|
-
const pm = detectPackageManager(cwd);
|
|
132
|
-
const packageRunner = getPackageRunner(pm);
|
|
133
|
-
if (detected && !config.typescript) {
|
|
134
|
-
return {
|
|
135
|
-
label: 'TypeScript consistency',
|
|
136
|
-
status: 'warn',
|
|
137
|
-
detail: `TypeScript detected in the project but config says ${chalk.yellow('false')}.\n` +
|
|
138
|
-
`Run ${chalk.cyan(`${packageRunner} dcntui init`)} to update your config.`
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
if (!detected && config.typescript) {
|
|
142
|
-
return {
|
|
143
|
-
label: 'TypeScript consistency',
|
|
144
|
-
status: 'warn',
|
|
145
|
-
detail: `Config says TypeScript but no tsconfig.json or typescript dep found.\n` +
|
|
146
|
-
`Run ${chalk.cyan(`${packageRunner} dcntui init`)} to update your config.`
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
return {
|
|
150
|
-
label: `Language: ${config.typescript ? 'TypeScript' : 'JavaScript'}`,
|
|
151
|
-
status: 'pass'
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
function checkDependencies(cwd) {
|
|
155
|
-
const lock = readLock(cwd);
|
|
156
|
-
const installed = Object.keys(lock);
|
|
157
|
-
const pm = detectPackageManager(cwd);
|
|
158
|
-
const packageRunner = getPackageRunner(pm);
|
|
159
|
-
if (installed.length === 0) {
|
|
160
|
-
return {
|
|
161
|
-
label: 'Component dependencies',
|
|
162
|
-
status: 'pass',
|
|
163
|
-
detail: 'No components installed yet.'
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
const missing = [];
|
|
167
|
-
const nodeModulesPath = path.join(cwd, 'node_modules');
|
|
168
|
-
if (!fs.existsSync(nodeModulesPath)) {
|
|
169
|
-
return {
|
|
170
|
-
label: 'Component dependencies',
|
|
171
|
-
status: 'fail',
|
|
172
|
-
detail: 'node_modules directory not found.\n' + 'Run your package manager install command first.'
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
for (const componentName of installed) {
|
|
176
|
-
const metaPath = path.join(cwd, '.dcntui', `${componentName}.json`);
|
|
177
|
-
if (!fs.existsSync(metaPath))
|
|
178
|
-
continue;
|
|
179
|
-
try {
|
|
180
|
-
const meta = JSON.parse(fs.readFileSync(metaPath, 'utf-8'));
|
|
181
|
-
for (const dep of meta.dependencies ?? []) {
|
|
182
|
-
const depPath = path.join(nodeModulesPath, dep);
|
|
183
|
-
if (!fs.existsSync(depPath)) {
|
|
184
|
-
missing.push(`${dep} (required by ${componentName})`);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch { }
|
|
189
|
-
}
|
|
190
|
-
if (missing.length > 0) {
|
|
191
|
-
return {
|
|
192
|
-
label: 'Component dependencies',
|
|
193
|
-
status: 'fail',
|
|
194
|
-
detail: `Missing packages:\n` +
|
|
195
|
-
missing.map((m) => ` ${chalk.red(m)}`).join('\n') +
|
|
196
|
-
'\n' +
|
|
197
|
-
`Run ${chalk.cyan(`${packageRunner} dcntui doctor --fix`)} or install them manually.`
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
return {
|
|
201
|
-
label: `Component dependencies (${installed.length} component${installed.length === 1 ? '' : 's'} installed)`,
|
|
202
|
-
status: 'pass'
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
function checkGitIgnore(cwd, config) {
|
|
206
|
-
const token = process.env['DCNTUI_TOKEN'] || config.premiumToken;
|
|
207
|
-
if (!token || !config.premiumToken)
|
|
208
|
-
return null;
|
|
209
|
-
const pm = detectPackageManager(cwd);
|
|
210
|
-
const packageRunner = getPackageRunner(pm);
|
|
211
|
-
const gitignorePath = path.join(cwd, '.gitignore');
|
|
212
|
-
if (!fs.existsSync(gitignorePath)) {
|
|
213
|
-
return {
|
|
214
|
-
label: 'Premium token security',
|
|
215
|
-
status: 'warn',
|
|
216
|
-
detail: 'premiumToken is set in dcntui.config.json but no .gitignore found.\n' +
|
|
217
|
-
'Your token could be accidentally committed.\n' +
|
|
218
|
-
`Recommended: use ${chalk.cyan('DCNTUI_TOKEN=<token>')} environment variable instead.`
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
const gitignore = fs.readFileSync(gitignorePath, 'utf-8');
|
|
222
|
-
const isIgnored = gitignore.split('\n').some((line) => {
|
|
223
|
-
const trimmed = line.trim();
|
|
224
|
-
return trimmed === 'dcntui.config.json' || trimmed === '/dcntui.config.json';
|
|
225
|
-
});
|
|
226
|
-
if (!isIgnored) {
|
|
227
|
-
return {
|
|
228
|
-
label: 'Premium token security',
|
|
229
|
-
status: 'warn',
|
|
230
|
-
detail: 'premiumToken is set in dcntui.config.json which is not in .gitignore.\n' +
|
|
231
|
-
'Your token could be accidentally committed to version control.\n\n' +
|
|
232
|
-
`Add to .gitignore: ${chalk.cyan('dcntui.config.json')}\n` +
|
|
233
|
-
`Or use instead: ${chalk.cyan(`DCNTUI_TOKEN=<token> ${packageRunner} dcntui add <component>`)}`
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
return { label: 'Premium token security', status: 'pass' };
|
|
237
|
-
}
|
|
238
|
-
async function checkPremiumToken(config) {
|
|
239
|
-
const token = process.env['DCNTUI_TOKEN'] || config.premiumToken;
|
|
240
|
-
if (!token)
|
|
241
|
-
return null;
|
|
242
|
-
const spinner = clack.spinner();
|
|
243
|
-
spinner.start('Verifying premium token…');
|
|
244
|
-
const valid = await verifyPremiumToken(config.registry, token);
|
|
245
|
-
spinner.stop('');
|
|
246
|
-
if (!valid) {
|
|
247
|
-
return {
|
|
248
|
-
label: 'Premium token',
|
|
249
|
-
status: 'fail',
|
|
250
|
-
detail: 'Token is invalid or expired.\n' + `Manage your subscription at ${chalk.underline.cyan('https://dcntui.com')}`
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
return { label: 'Premium token valid', status: 'pass' };
|
|
254
|
-
}
|
|
255
|
-
async function checkRegistryConnectivity(config) {
|
|
256
|
-
const base = config.registry.replace(/\/$/, '');
|
|
257
|
-
const url = `${base}/catalog.json`;
|
|
258
|
-
const spinner = clack.spinner();
|
|
259
|
-
spinner.start('Checking registry connectivity…');
|
|
260
|
-
try {
|
|
261
|
-
const res = await fetch(url, {
|
|
262
|
-
method: 'HEAD',
|
|
263
|
-
headers: { 'User-Agent': 'dcntui-cli' },
|
|
264
|
-
signal: AbortSignal.timeout(8000)
|
|
265
|
-
});
|
|
266
|
-
spinner.stop('');
|
|
267
|
-
if (!res.ok) {
|
|
268
|
-
return {
|
|
269
|
-
label: 'Registry connectivity',
|
|
270
|
-
status: 'warn',
|
|
271
|
-
detail: `Registry responded with HTTP ${res.status}.\nURL: ${url}`
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
return {
|
|
275
|
-
label: `Registry reachable (${config.registry})`,
|
|
276
|
-
status: 'pass'
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
catch {
|
|
280
|
-
spinner.stop('');
|
|
281
|
-
return {
|
|
282
|
-
label: 'Registry connectivity',
|
|
283
|
-
status: 'fail',
|
|
284
|
-
detail: `Could not reach ${url}\n` + 'Check your internet connection or verify the registry URL in dcntui.config.json.'
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
export async function doctorCommand() {
|
|
289
|
-
console.clear();
|
|
290
|
-
clack.intro(chalk.bgCyan.black(' DCNT UI DOCTOR '));
|
|
291
|
-
const cwd = process.cwd();
|
|
292
|
-
const results = [];
|
|
293
|
-
console.log();
|
|
294
|
-
const { result: configResult, config } = checkConfig(cwd);
|
|
295
|
-
results.push(configResult);
|
|
296
|
-
renderCheck(configResult);
|
|
297
|
-
if (!config) {
|
|
298
|
-
console.log();
|
|
299
|
-
clack.outro(chalk.red('Fix the config issues above before re-running dcntui doctor.'));
|
|
300
|
-
process.exit(1);
|
|
301
|
-
}
|
|
302
|
-
const frameworkResult = checkFrameworkConsistency(cwd, config);
|
|
303
|
-
results.push(frameworkResult);
|
|
304
|
-
renderCheck(frameworkResult);
|
|
305
|
-
const cssResult = checkCssIntegration(cwd, config);
|
|
306
|
-
results.push(cssResult);
|
|
307
|
-
renderCheck(cssResult);
|
|
308
|
-
const tsResult = checkTypeScriptConsistency(cwd, config);
|
|
309
|
-
results.push(tsResult);
|
|
310
|
-
renderCheck(tsResult);
|
|
311
|
-
const depsResult = checkDependencies(cwd);
|
|
312
|
-
results.push(depsResult);
|
|
313
|
-
renderCheck(depsResult);
|
|
314
|
-
const gitignoreResult = checkGitIgnore(cwd, config);
|
|
315
|
-
if (gitignoreResult) {
|
|
316
|
-
results.push(gitignoreResult);
|
|
317
|
-
renderCheck(gitignoreResult);
|
|
318
|
-
}
|
|
319
|
-
const tokenResult = await checkPremiumToken(config);
|
|
320
|
-
if (tokenResult) {
|
|
321
|
-
results.push(tokenResult);
|
|
322
|
-
renderCheck(tokenResult);
|
|
323
|
-
}
|
|
324
|
-
const registryResult = await checkRegistryConnectivity(config);
|
|
325
|
-
results.push(registryResult);
|
|
326
|
-
renderCheck(registryResult);
|
|
327
|
-
console.log();
|
|
328
|
-
const passes = results.filter((r) => r.status === 'pass').length;
|
|
329
|
-
const warns = results.filter((r) => r.status === 'warn').length;
|
|
330
|
-
const fails = results.filter((r) => r.status === 'fail').length;
|
|
331
|
-
const summaryParts = [];
|
|
332
|
-
if (passes > 0)
|
|
333
|
-
summaryParts.push(chalk.green(`${passes} passed`));
|
|
334
|
-
if (warns > 0)
|
|
335
|
-
summaryParts.push(chalk.yellow(`${warns} warning${warns === 1 ? '' : 's'}`));
|
|
336
|
-
if (fails > 0)
|
|
337
|
-
summaryParts.push(chalk.red(`${fails} failed`));
|
|
338
|
-
if (fails > 0) {
|
|
339
|
-
clack.outro(chalk.red('Issues found: ') + summaryParts.join(' · '));
|
|
340
|
-
process.exit(1);
|
|
341
|
-
}
|
|
342
|
-
if (warns > 0) {
|
|
343
|
-
clack.outro(chalk.yellow('Warnings found: ') + summaryParts.join(' · '));
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
clack.outro(chalk.green('Everything looks good! ') + summaryParts.join(' · '));
|
|
347
|
-
}
|
|
348
|
-
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/list.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAQA,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HrE"}
|
package/dist/commands/list.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import * as clack from '@clack/prompts';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
|
-
import { readConfig, ConfigError } from '../utils/config.js';
|
|
4
|
-
import { fetchCatalog, RegistryError } from '../utils/registry.js';
|
|
5
|
-
import { readLock } from '../utils/lock.js';
|
|
6
|
-
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
7
|
-
export async function listCommand(options) {
|
|
8
|
-
console.clear();
|
|
9
|
-
clack.intro(chalk.bgCyan.black(' DCNT UI LIST '));
|
|
10
|
-
const cwd = process.cwd();
|
|
11
|
-
const pm = detectPackageManager(cwd);
|
|
12
|
-
const packageRunner = getPackageRunner(pm);
|
|
13
|
-
let config;
|
|
14
|
-
try {
|
|
15
|
-
config = readConfig(cwd);
|
|
16
|
-
}
|
|
17
|
-
catch (err) {
|
|
18
|
-
if (err instanceof ConfigError) {
|
|
19
|
-
clack.log.error(chalk.red(err.message));
|
|
20
|
-
clack.outro(chalk.red('Aborted.'));
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
throw err;
|
|
24
|
-
}
|
|
25
|
-
const lock = readLock(cwd);
|
|
26
|
-
const installedNames = new Set(Object.keys(lock));
|
|
27
|
-
if (options.installed) {
|
|
28
|
-
if (installedNames.size === 0) {
|
|
29
|
-
clack.log.info('No components installed yet.\n\n Run ' +
|
|
30
|
-
chalk.cyan(`${packageRunner} dcntui add <component>`) +
|
|
31
|
-
' to get started.');
|
|
32
|
-
clack.outro('');
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
clack.log.info(chalk.bold(`Installed components (${installedNames.size}):\n`));
|
|
36
|
-
const entries = Object.entries(lock).sort(([a], [b]) => a.localeCompare(b));
|
|
37
|
-
for (const [name, version] of entries) {
|
|
38
|
-
console.log(` ${chalk.green('✓')} ${chalk.bold(name.padEnd(28))} ${chalk.gray('v' + version)}`);
|
|
39
|
-
}
|
|
40
|
-
console.log();
|
|
41
|
-
clack.outro(chalk.cyan(`${installedNames.size} component${installedNames.size === 1 ? '' : 's'} installed.`));
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const spinner = clack.spinner();
|
|
45
|
-
spinner.start('Fetching catalog from registry…');
|
|
46
|
-
let catalog;
|
|
47
|
-
try {
|
|
48
|
-
catalog = await fetchCatalog(config.registry);
|
|
49
|
-
spinner.stop(`Catalog loaded.`);
|
|
50
|
-
}
|
|
51
|
-
catch (err) {
|
|
52
|
-
if (err instanceof RegistryError) {
|
|
53
|
-
spinner.stop(chalk.red('Failed to fetch catalog.'));
|
|
54
|
-
clack.log.error(chalk.red(err.message));
|
|
55
|
-
clack.outro(chalk.red('Aborted.'));
|
|
56
|
-
process.exit(1);
|
|
57
|
-
}
|
|
58
|
-
throw err;
|
|
59
|
-
}
|
|
60
|
-
const hasToken = !!(process.env['DCNTUI_TOKEN'] || config.premiumToken);
|
|
61
|
-
let totalFree = 0;
|
|
62
|
-
let totalPremium = 0;
|
|
63
|
-
for (const category of catalog.categories) {
|
|
64
|
-
if (category.components.length === 0)
|
|
65
|
-
continue;
|
|
66
|
-
console.log('\n ' + chalk.bold.underline(category.name));
|
|
67
|
-
for (const component of category.components) {
|
|
68
|
-
console.log(' ' + formatComponentRow(component, installedNames, hasToken));
|
|
69
|
-
if (component.premium)
|
|
70
|
-
totalPremium++;
|
|
71
|
-
else
|
|
72
|
-
totalFree++;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
console.log();
|
|
76
|
-
console.log(' ' + [chalk.green('✓') + ' installed', chalk.cyan('◆') + ' free', chalk.yellow('★') + ' premium'].join(' '));
|
|
77
|
-
console.log();
|
|
78
|
-
const totalComponents = totalFree + totalPremium;
|
|
79
|
-
const summaryParts = [
|
|
80
|
-
chalk.bold(String(totalComponents)) + ' component' + (totalComponents === 1 ? '' : 's'),
|
|
81
|
-
chalk.cyan(String(totalFree) + ' free'),
|
|
82
|
-
chalk.yellow(String(totalPremium) + ' premium'),
|
|
83
|
-
installedNames.size > 0 ? chalk.green(String(installedNames.size) + ' installed') : chalk.gray('0 installed')
|
|
84
|
-
];
|
|
85
|
-
if (!hasToken && totalPremium > 0) {
|
|
86
|
-
clack.outro(summaryParts.join(' · ') +
|
|
87
|
-
'\n\n' +
|
|
88
|
-
chalk.gray(' Unlock premium components at ') +
|
|
89
|
-
chalk.underline.cyan('https://dcntui.com'));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
clack.outro(summaryParts.join(' · '));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function formatComponentRow(component, installedNames, hasToken) {
|
|
96
|
-
const isInstalled = installedNames.has(component.name);
|
|
97
|
-
const badge = isInstalled ? chalk.green('✓') : component.premium ? chalk.yellow('★') : chalk.cyan('◆');
|
|
98
|
-
const name = component.premium && !hasToken && !isInstalled
|
|
99
|
-
? chalk.gray(component.name.padEnd(28))
|
|
100
|
-
: chalk.bold(component.name.padEnd(28));
|
|
101
|
-
const desc = chalk.gray(component.description);
|
|
102
|
-
return `${badge} ${name} ${desc}`;
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6H3E"}
|