dcntui 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -2
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -73
- package/dist/commands/init.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/dist/utils/banner.d.ts +0 -2
- package/dist/utils/banner.d.ts.map +0 -1
- package/dist/utils/banner.js +0 -15
- package/dist/utils/banner.js.map +0 -1
- package/dist/utils/detect-framework.d.ts +0 -9
- package/dist/utils/detect-framework.d.ts.map +0 -1
- package/dist/utils/detect-framework.js +0 -50
- package/dist/utils/detect-framework.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dcntui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "CLI for initializing DCNT UI and adding components to projects",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@clack/prompts": "^0.7.0",
|
|
20
20
|
"chalk": "^5.3.0",
|
|
21
|
-
"commander": "^12.0.0"
|
|
21
|
+
"commander": "^12.0.0",
|
|
22
|
+
"fast-glob": "^3.3.3"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
25
|
"@types/node": "^20.0.0",
|
package/dist/commands/init.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyFjD"}
|
package/dist/commands/init.js
DELETED
|
@@ -1,73 +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 { renderBanner } from '../utils/banner.js';
|
|
6
|
-
import { detectFramework, FRAMEWORK_OPTIONS } from '../utils/detect-framework.js';
|
|
7
|
-
const CONFIG_FILE = 'dcntui.config.json';
|
|
8
|
-
export async function initCommand() {
|
|
9
|
-
console.clear();
|
|
10
|
-
renderBanner();
|
|
11
|
-
clack.intro(chalk.bgCyan.black(' DCNTUI INIT '));
|
|
12
|
-
const cwd = process.cwd();
|
|
13
|
-
const packageJsonPath = path.join(cwd, 'package.json');
|
|
14
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
15
|
-
clack.log.error(chalk.red('No package.json found in the current directory.\n\n' +
|
|
16
|
-
'dcntui init must be run from the root of your project — ' +
|
|
17
|
-
'the same folder that contains your package.json.'));
|
|
18
|
-
clack.outro(chalk.red('Initialization aborted. Please try again from your project root.'));
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
clack.log.success(chalk.green("package.json found — you're in the right place."));
|
|
22
|
-
clack.log.info('Checking existing configuration…\n');
|
|
23
|
-
const configPath = path.join(cwd, CONFIG_FILE);
|
|
24
|
-
if (fs.existsSync(configPath)) {
|
|
25
|
-
clack.log.warn(chalk.yellow(`A ${CONFIG_FILE} already exists in this directory.\n\n` +
|
|
26
|
-
'Continuing will overwrite your current configuration.'));
|
|
27
|
-
const shouldContinue = await clack.select({
|
|
28
|
-
message: 'Do you want to continue?',
|
|
29
|
-
options: [
|
|
30
|
-
{ value: false, label: 'No — keep my existing config' },
|
|
31
|
-
{ value: true, label: 'Yes — overwrite and reconfigure' }
|
|
32
|
-
],
|
|
33
|
-
initialValue: false
|
|
34
|
-
});
|
|
35
|
-
if (clack.isCancel(shouldContinue) || shouldContinue === false) {
|
|
36
|
-
clack.outro(chalk.cyan('No changes made. Your existing config is untouched.'));
|
|
37
|
-
process.exit(0);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const detectedFramework = detectFramework(cwd);
|
|
41
|
-
if (detectedFramework) {
|
|
42
|
-
const detected = FRAMEWORK_OPTIONS.find((f) => f.value === detectedFramework);
|
|
43
|
-
clack.log.info(`Detected framework: ${chalk.cyan(detected.label)}`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
clack.log.warn('Could not auto-detect a framework. Please select one manually.');
|
|
47
|
-
}
|
|
48
|
-
const framework = await clack.select({
|
|
49
|
-
message: 'Framework:',
|
|
50
|
-
options: FRAMEWORK_OPTIONS,
|
|
51
|
-
initialValue: detectedFramework ?? 'react'
|
|
52
|
-
});
|
|
53
|
-
if (clack.isCancel(framework)) {
|
|
54
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
55
|
-
process.exit(0);
|
|
56
|
-
}
|
|
57
|
-
let config = {};
|
|
58
|
-
if (fs.existsSync(configPath)) {
|
|
59
|
-
try {
|
|
60
|
-
config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
config = {};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
config['version'] ?? (config['version'] = 1);
|
|
67
|
-
config['framework'] = framework;
|
|
68
|
-
config['registry'] ?? (config['registry'] = 'https://registry.dcntui.com');
|
|
69
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
70
|
-
const frameworkLabel = FRAMEWORK_OPTIONS.find((f) => f.value === framework).label;
|
|
71
|
-
clack.log.success(chalk.green(`Framework set to ${chalk.bold(frameworkLabel)}.`));
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=init.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { initCommand } from './commands/init.js';
|
|
4
|
-
const program = new Command();
|
|
5
|
-
program.name('dcntui').description('DCNTUI — Beautiful UI components for modern frameworks').version('0.1.0');
|
|
6
|
-
program.command('init').description('Initialize DCNTUI in your project').action(initCommand);
|
|
7
|
-
program.parse(process.argv);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wDAAwD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9G,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7F,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/utils/banner.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/utils/banner.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,IAAI,IAAI,CAanC"}
|
package/dist/utils/banner.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
export function renderBanner() {
|
|
3
|
-
const lines = [
|
|
4
|
-
chalk.cyanBright(' ╔╦╗╔═╗╔╗╔╔╦╗╦ ╦╦'),
|
|
5
|
-
chalk.blueBright(' ║║║ ║║║ ║ ║ ║║'),
|
|
6
|
-
chalk.magentaBright(' ═╩╝╚═╝╝╚╝ ╩ ╚═╝╩')
|
|
7
|
-
];
|
|
8
|
-
console.log();
|
|
9
|
-
for (const line of lines) {
|
|
10
|
-
console.log(line);
|
|
11
|
-
}
|
|
12
|
-
console.log();
|
|
13
|
-
console.log(chalk.gray(' Beautiful UI components for modern frameworks.\n'));
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=banner.js.map
|
package/dist/utils/banner.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/utils/banner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACtC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACtC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;KAC1C,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type Framework = 'next-app' | 'next-pages' | 'svelte-kit' | 'svelte' | 'react';
|
|
2
|
-
export interface FrameworkOption {
|
|
3
|
-
value: Framework;
|
|
4
|
-
label: string;
|
|
5
|
-
hint?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const FRAMEWORK_OPTIONS: FrameworkOption[];
|
|
8
|
-
export declare function detectFramework(cwd: string): Framework | null;
|
|
9
|
-
//# sourceMappingURL=detect-framework.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-framework.d.ts","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAM9C,CAAC;AAuBF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAwB7D"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
export const FRAMEWORK_OPTIONS = [
|
|
4
|
-
{ value: 'next-app', label: 'Next.js App Router' },
|
|
5
|
-
{ value: 'next-pages', label: 'Next.js Pages Router' },
|
|
6
|
-
{ value: 'svelte-kit', label: 'SvelteKit' },
|
|
7
|
-
{ value: 'svelte', label: 'Svelte' },
|
|
8
|
-
{ value: 'react', label: 'React' }
|
|
9
|
-
];
|
|
10
|
-
function readPackageJson(cwd) {
|
|
11
|
-
try {
|
|
12
|
-
const raw = fs.readFileSync(path.join(cwd, 'package.json'), 'utf-8');
|
|
13
|
-
return JSON.parse(raw);
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function hasDep(pkg, name) {
|
|
20
|
-
const deps = (pkg['dependencies'] ?? {});
|
|
21
|
-
const dev = (pkg['devDependencies'] ?? {});
|
|
22
|
-
return name in deps || name in dev;
|
|
23
|
-
}
|
|
24
|
-
function dirExists(cwd, dir) {
|
|
25
|
-
return fs.existsSync(path.join(cwd, dir));
|
|
26
|
-
}
|
|
27
|
-
export function detectFramework(cwd) {
|
|
28
|
-
const pkg = readPackageJson(cwd);
|
|
29
|
-
if (!pkg)
|
|
30
|
-
return null;
|
|
31
|
-
if (hasDep(pkg, '@sveltejs/kit'))
|
|
32
|
-
return 'svelte-kit';
|
|
33
|
-
if (hasDep(pkg, 'svelte'))
|
|
34
|
-
return 'svelte';
|
|
35
|
-
if (hasDep(pkg, 'next')) {
|
|
36
|
-
const hasAppDir = dirExists(cwd, 'app') || dirExists(cwd, 'src/app');
|
|
37
|
-
const hasPagesDir = dirExists(cwd, 'pages') || dirExists(cwd, 'src/pages');
|
|
38
|
-
if (hasAppDir && !hasPagesDir)
|
|
39
|
-
return 'next-app';
|
|
40
|
-
if (hasPagesDir && !hasAppDir)
|
|
41
|
-
return 'next-pages';
|
|
42
|
-
if (hasAppDir && hasPagesDir)
|
|
43
|
-
return 'next-app';
|
|
44
|
-
return 'next-app';
|
|
45
|
-
}
|
|
46
|
-
if (hasDep(pkg, 'react'))
|
|
47
|
-
return 'react';
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=detect-framework.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAU7B,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACtD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;IAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CACnC,CAAC;AAEF,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAA4B,EAAE,IAAY;IACxD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAA2B,CAAC;IACnE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAA2B,CAAC;IAErE,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,GAAW;IACzC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC;QAAE,OAAO,YAAY,CAAC;IAEtD,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3C,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE3E,IAAI,SAAS,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QACjD,IAAI,WAAW,IAAI,CAAC,SAAS;YAAE,OAAO,YAAY,CAAC;QAEnD,IAAI,SAAS,IAAI,WAAW;YAAE,OAAO,UAAU,CAAC;QAEhD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,OAAO,IAAI,CAAC;AACd,CAAC"}
|