dcntui 0.1.5 → 0.1.6
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/init.d.ts.map +1 -1
- package/dist/commands/init.js +62 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/utils/detect-css.d.ts +1 -0
- package/dist/utils/detect-css.d.ts.map +1 -1
- package/dist/utils/detect-css.js +56 -1
- package/dist/utils/detect-css.js.map +1 -1
- package/dist/utils/detect-framework.d.ts +1 -1
- package/dist/utils/detect-framework.d.ts.map +1 -1
- package/dist/utils/detect-framework.js +2 -1
- package/dist/utils/detect-framework.js.map +1 -1
- package/dist/utils/helpers.d.ts +1 -0
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +9 -0
- package/dist/utils/helpers.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAYA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6OjD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -4,13 +4,17 @@ import fs from 'node:fs';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { renderBanner } from '../utils/banner.js';
|
|
6
6
|
import { detectFramework, FRAMEWORK_OPTIONS } from '../utils/detect-framework.js';
|
|
7
|
-
import {
|
|
7
|
+
import { detectCss, detectBaseStylesFile, CSS_OPTIONS } from '../utils/detect-css.js';
|
|
8
8
|
import { detectTypeScript } from '../utils/detect-typescript.js';
|
|
9
|
+
import { detectPackageManager } from '../utils/helpers.js';
|
|
9
10
|
const CONFIG_FILE = 'dcntui.config.json';
|
|
10
11
|
export async function initCommand() {
|
|
11
12
|
console.clear();
|
|
13
|
+
// Banner
|
|
12
14
|
renderBanner();
|
|
15
|
+
// Intro
|
|
13
16
|
clack.intro(chalk.bgCyan.black(' DCNTUI INIT '));
|
|
17
|
+
// Verify project root
|
|
14
18
|
const cwd = process.cwd();
|
|
15
19
|
const packageJsonPath = path.join(cwd, 'package.json');
|
|
16
20
|
if (!fs.existsSync(packageJsonPath)) {
|
|
@@ -21,6 +25,7 @@ export async function initCommand() {
|
|
|
21
25
|
process.exit(1);
|
|
22
26
|
}
|
|
23
27
|
clack.log.success(chalk.green("package.json found — you're in the right place."));
|
|
28
|
+
// Detect existing config
|
|
24
29
|
clack.log.info('Checking existing configuration…\n');
|
|
25
30
|
const configPath = path.join(cwd, CONFIG_FILE);
|
|
26
31
|
if (fs.existsSync(configPath)) {
|
|
@@ -39,23 +44,33 @@ export async function initCommand() {
|
|
|
39
44
|
process.exit(0);
|
|
40
45
|
}
|
|
41
46
|
}
|
|
47
|
+
// Framework detection
|
|
42
48
|
const detectedFramework = detectFramework(cwd);
|
|
43
49
|
if (detectedFramework) {
|
|
44
50
|
const detected = FRAMEWORK_OPTIONS.find((f) => f.value === detectedFramework);
|
|
45
51
|
clack.log.info(`Detected framework: ${chalk.cyan(detected.label)}`);
|
|
46
52
|
}
|
|
47
53
|
else {
|
|
48
|
-
clack.log.warn('
|
|
54
|
+
clack.log.warn('No supported framework detected.\n\n' +
|
|
55
|
+
' Supported: Next.js, React, Svelte, SvelteKit.\n' +
|
|
56
|
+
' Select your framework manually, or choose None to exit.');
|
|
49
57
|
}
|
|
50
58
|
const framework = await clack.select({
|
|
51
59
|
message: 'Framework:',
|
|
52
60
|
options: FRAMEWORK_OPTIONS,
|
|
53
|
-
initialValue: detectedFramework
|
|
61
|
+
initialValue: detectedFramework
|
|
54
62
|
});
|
|
55
63
|
if (clack.isCancel(framework)) {
|
|
56
64
|
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
57
65
|
process.exit(0);
|
|
58
66
|
}
|
|
67
|
+
if (framework === null) {
|
|
68
|
+
clack.log.error(chalk.red('DCNT UI requires a supported framework to function correctly.\n\n' +
|
|
69
|
+
' Supported frameworks: Next.js (App Router & Pages Router), React, Svelte, SvelteKit.\n'));
|
|
70
|
+
clack.outro(chalk.red('Initialization aborted. Please set up a supported framework first.'));
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
// Write / patch dcntui.config.json
|
|
59
74
|
let config = {};
|
|
60
75
|
if (fs.existsSync(configPath)) {
|
|
61
76
|
try {
|
|
@@ -71,6 +86,7 @@ export async function initCommand() {
|
|
|
71
86
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
72
87
|
const frameworkLabel = FRAMEWORK_OPTIONS.find((f) => f.value === framework).label;
|
|
73
88
|
clack.log.success(chalk.green(`Framework set to ${chalk.bold(frameworkLabel)}.`));
|
|
89
|
+
// CSS strategy detection
|
|
74
90
|
const detectedCss = detectCss(cwd);
|
|
75
91
|
if (detectedCss) {
|
|
76
92
|
const detected = CSS_OPTIONS.find((c) => c.value === detectedCss);
|
|
@@ -92,6 +108,41 @@ export async function initCommand() {
|
|
|
92
108
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
93
109
|
const cssLabel = CSS_OPTIONS.find((c) => c.value === css).label;
|
|
94
110
|
clack.log.success(chalk.green(`CSS strategy set to ${chalk.bold(cssLabel)}.`));
|
|
111
|
+
// Base styles file
|
|
112
|
+
const detectedStylesFile = detectBaseStylesFile(cwd, css);
|
|
113
|
+
if (detectedStylesFile) {
|
|
114
|
+
clack.log.info(`Detected base styles file: ${chalk.cyan(detectedStylesFile)}`);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
clack.log.warn('Could not find a base styles file. Please enter the path manually.');
|
|
118
|
+
}
|
|
119
|
+
const defaultStylesExt = css === 'scss' ? '.scss' : '.css';
|
|
120
|
+
const defaultStylesFile = detectedStylesFile ?? `src/index${defaultStylesExt}`;
|
|
121
|
+
const stylesFile = await clack.text({
|
|
122
|
+
message: 'Base styles file:',
|
|
123
|
+
placeholder: defaultStylesFile,
|
|
124
|
+
defaultValue: defaultStylesFile,
|
|
125
|
+
validate(value) {
|
|
126
|
+
const trimmed = value.trim();
|
|
127
|
+
if (trimmed.length === 0)
|
|
128
|
+
return 'Styles file path cannot be empty.';
|
|
129
|
+
if (path.isAbsolute(trimmed))
|
|
130
|
+
return 'Please use a relative path (e.g. src/index.css).';
|
|
131
|
+
if (trimmed.includes('..'))
|
|
132
|
+
return 'Path must not traverse outside the project root.';
|
|
133
|
+
const ext = path.extname(trimmed).toLowerCase();
|
|
134
|
+
if (!['.css', '.scss'].includes(ext))
|
|
135
|
+
return 'File must have a .css or .scss extension.';
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
if (clack.isCancel(stylesFile)) {
|
|
139
|
+
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
140
|
+
process.exit(0);
|
|
141
|
+
}
|
|
142
|
+
config['stylesFile'] = stylesFile.trim();
|
|
143
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
144
|
+
clack.log.success(chalk.green(`Base styles file set to ${chalk.bold(stylesFile.trim())}.`));
|
|
145
|
+
// TypeScript detection
|
|
95
146
|
const detectedTypeScript = detectTypeScript(cwd);
|
|
96
147
|
clack.log.info(`Detected language: ${chalk.cyan(detectedTypeScript ? 'TypeScript' : 'JavaScript')}`);
|
|
97
148
|
const typescript = await clack.confirm({
|
|
@@ -105,7 +156,8 @@ export async function initCommand() {
|
|
|
105
156
|
config['typescript'] = typescript;
|
|
106
157
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
107
158
|
clack.log.success(chalk.green(`Language set to ${chalk.bold(typescript ? 'TypeScript' : 'JavaScript')}.`));
|
|
108
|
-
|
|
159
|
+
// Components directory
|
|
160
|
+
const defaultComponentsDir = fs.existsSync(path.join(cwd, 'src')) ? 'src/components/ui' : 'components/ui';
|
|
109
161
|
const componentsDir = await clack.text({
|
|
110
162
|
message: 'Components directory:',
|
|
111
163
|
placeholder: defaultComponentsDir,
|
|
@@ -128,12 +180,15 @@ export async function initCommand() {
|
|
|
128
180
|
config['premiumToken'] ?? (config['premiumToken'] = '');
|
|
129
181
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
130
182
|
clack.log.success(chalk.green(`Components directory set to ${chalk.bold(componentsDir.trim())}.`));
|
|
131
|
-
|
|
183
|
+
// Outro
|
|
184
|
+
const pm = detectPackageManager(cwd);
|
|
185
|
+
const pmCommand = pm === 'bun' ? 'bunx' : pm === 'pnpm' ? 'pnpm dlx' : pm === 'yarn' ? 'yarn dlx' : 'npx';
|
|
186
|
+
clack.outro(chalk.cyan('DCNT UI initialized successfully!') +
|
|
132
187
|
'\n\n ' +
|
|
133
188
|
chalk.gray('Next steps:') +
|
|
134
189
|
'\n ' +
|
|
135
|
-
chalk.white(` Run ${chalk.cyan('
|
|
190
|
+
chalk.white(` Run ${chalk.cyan(`'${pmCommand} dcntui add <component>'`)} to install your first component.`) +
|
|
136
191
|
'\n ' +
|
|
137
|
-
chalk.white(` Run ${chalk.cyan('
|
|
192
|
+
chalk.white(` Run ${chalk.cyan(`'${pmCommand} dcntui list'`)} to browse available components.`));
|
|
138
193
|
}
|
|
139
194
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,6 @@ export interface CssOption {
|
|
|
4
4
|
label: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const CSS_OPTIONS: CssOption[];
|
|
7
|
+
export declare function detectBaseStylesFile(cwd: string, css: CssStrategy): string | null;
|
|
7
8
|
export declare function detectCss(cwd: string): CssStrategy | null;
|
|
8
9
|
//# sourceMappingURL=detect-css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-css.d.ts","sourceRoot":"","sources":["../../src/utils/detect-css.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detect-css.d.ts","sourceRoot":"","sources":["../../src/utils/detect-css.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,EAKlC,CAAC;AAuDF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAqCjF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAkCzD"}
|
package/dist/utils/detect-css.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fg from 'fast-glob';
|
|
2
2
|
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
3
4
|
import { fileExists, hasDep, readPackageJson } from './helpers.js';
|
|
4
5
|
export const CSS_OPTIONS = [
|
|
5
6
|
{ value: 'tailwind-v4', label: 'Tailwind CSS v4' },
|
|
@@ -17,7 +18,7 @@ function hasTailwindV4Import(cwd) {
|
|
|
17
18
|
return true;
|
|
18
19
|
}
|
|
19
20
|
catch {
|
|
20
|
-
//
|
|
21
|
+
// skip
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
return false;
|
|
@@ -36,6 +37,60 @@ function tailwindMajorVersion(pkg) {
|
|
|
36
37
|
const match = raw.match(/(\d+)\./);
|
|
37
38
|
return match ? parseInt(match[1], 10) : null;
|
|
38
39
|
}
|
|
40
|
+
const BASE_STYLE_CANDIDATES = [
|
|
41
|
+
'src/app/globals.css',
|
|
42
|
+
'app/globals.css',
|
|
43
|
+
'src/index.css',
|
|
44
|
+
'src/styles/globals.css',
|
|
45
|
+
'src/styles/index.css',
|
|
46
|
+
'src/styles.css',
|
|
47
|
+
'styles/globals.css',
|
|
48
|
+
'index.css'
|
|
49
|
+
];
|
|
50
|
+
const BASE_STYLE_CANDIDATES_SCSS = [
|
|
51
|
+
'src/app/globals.scss',
|
|
52
|
+
'src/styles/globals.scss',
|
|
53
|
+
'src/styles/main.scss',
|
|
54
|
+
'src/styles/index.scss',
|
|
55
|
+
'src/index.scss',
|
|
56
|
+
'src/styles.scss',
|
|
57
|
+
'styles/globals.scss'
|
|
58
|
+
];
|
|
59
|
+
export function detectBaseStylesFile(cwd, css) {
|
|
60
|
+
switch (css) {
|
|
61
|
+
case 'tailwind-v4': {
|
|
62
|
+
const cssFiles = fg.sync('**/*.css', { cwd, ignore: IGNORE, deep: 4, absolute: true });
|
|
63
|
+
const pattern = /@import\s+['"]tailwindcss['"]/;
|
|
64
|
+
for (const file of cssFiles) {
|
|
65
|
+
try {
|
|
66
|
+
if (pattern.test(fs.readFileSync(file, 'utf-8'))) {
|
|
67
|
+
return path.relative(cwd, file);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// skip
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
case 'tailwind-v3':
|
|
77
|
+
case 'css': {
|
|
78
|
+
for (const candidate of BASE_STYLE_CANDIDATES) {
|
|
79
|
+
if (fs.existsSync(path.join(cwd, candidate)))
|
|
80
|
+
return candidate;
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
case 'scss': {
|
|
85
|
+
for (const candidate of BASE_STYLE_CANDIDATES_SCSS) {
|
|
86
|
+
if (fs.existsSync(path.join(cwd, candidate)))
|
|
87
|
+
return candidate;
|
|
88
|
+
}
|
|
89
|
+
const found = fg.sync('**/*.scss', { cwd, ignore: IGNORE, deep: 4 });
|
|
90
|
+
return found[0] ? path.normalize(found[0]) : null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
39
94
|
export function detectCss(cwd) {
|
|
40
95
|
const pkg = readPackageJson(cwd);
|
|
41
96
|
if (!pkg)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-css.js","sourceRoot":"","sources":["../../src/utils/detect-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AASnE,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAClD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAClD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;CACrC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAErH,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-css.js","sourceRoot":"","sources":["../../src/utils/detect-css.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-framework.d.ts","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-framework.d.ts","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;AAE7F,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,EAO9C,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAwB7D"}
|
|
@@ -4,7 +4,8 @@ export const FRAMEWORK_OPTIONS = [
|
|
|
4
4
|
{ value: 'next-pages', label: 'Next.js Pages Router' },
|
|
5
5
|
{ value: 'svelte-kit', label: 'SvelteKit' },
|
|
6
6
|
{ value: 'svelte', label: 'Svelte' },
|
|
7
|
-
{ value: 'react', label: 'React' }
|
|
7
|
+
{ value: 'react', label: 'React' },
|
|
8
|
+
{ value: null, label: 'None', hint: 'unsupported / exit' }
|
|
8
9
|
];
|
|
9
10
|
export function detectFramework(cwd) {
|
|
10
11
|
const pkg = readPackageJson(cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUlE,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;
|
|
1
|
+
{"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../../src/utils/detect-framework.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAUlE,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;IAClC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE;CAC3D,CAAC;AAEF,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"}
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export declare function readPackageJson(cwd: string): Record<string, unknown> |
|
|
|
2
2
|
export declare function hasDep(pkg: Record<string, unknown>, name: string): boolean;
|
|
3
3
|
export declare function dirExists(cwd: string, dir: string): boolean;
|
|
4
4
|
export declare function fileExists(cwd: string, ...segments: string[]): boolean;
|
|
5
|
+
export declare function detectPackageManager(root: string): 'npm' | 'yarn' | 'pnpm' | 'bun';
|
|
5
6
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ3E;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtE"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ3E;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAMlF"}
|
package/dist/utils/helpers.js
CHANGED
|
@@ -20,4 +20,13 @@ export function dirExists(cwd, dir) {
|
|
|
20
20
|
export function fileExists(cwd, ...segments) {
|
|
21
21
|
return fs.existsSync(path.join(cwd, ...segments));
|
|
22
22
|
}
|
|
23
|
+
export function detectPackageManager(root) {
|
|
24
|
+
if (fs.existsSync(path.join(root, 'bun.lockb')))
|
|
25
|
+
return 'bun';
|
|
26
|
+
if (fs.existsSync(path.join(root, 'pnpm-lock.yaml')))
|
|
27
|
+
return 'pnpm';
|
|
28
|
+
if (fs.existsSync(path.join(root, 'yarn.lock')))
|
|
29
|
+
return 'yarn';
|
|
30
|
+
return 'npm';
|
|
31
|
+
}
|
|
23
32
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,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,MAAM,UAAU,MAAM,CAAC,GAA4B,EAAE,IAAY;IAC/D,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,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW;IAChD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAG,QAAkB;IAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,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,MAAM,UAAU,MAAM,CAAC,GAA4B,EAAE,IAAY;IAC/D,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,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,GAAW;IAChD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,GAAG,QAAkB;IAC3D,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAE/D,OAAO,KAAK,CAAC;AACf,CAAC"}
|