kumo-svelte 0.1.2 → 0.1.4
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/README.md +12 -1
- package/dist/command-line/cli.js +3 -2
- package/dist/command-line/cli.js.map +1 -1
- package/dist/command-line/commands/add.js +16 -9
- package/dist/command-line/commands/add.js.map +1 -1
- package/dist/command-line/commands/blocks.js +17 -14
- package/dist/command-line/commands/blocks.js.map +1 -1
- package/dist/command-line/commands/doc.js +121 -35
- package/dist/command-line/commands/doc.js.map +1 -1
- package/dist/command-line/commands/init.js +46 -15
- package/dist/command-line/commands/init.js.map +1 -1
- package/dist/command-line/commands/ls.js +11 -8
- package/dist/command-line/commands/ls.js.map +1 -1
- package/dist/command-line/commands/migrate.js +105 -26
- package/dist/command-line/commands/migrate.js.map +1 -1
- package/dist/command-line/utils/registry.js.map +1 -1
- package/dist/command-line/utils/transformer.js +80 -5
- package/dist/command-line/utils/transformer.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/command-line/cli.ts +3 -2
- package/src/command-line/commands/add.ts +19 -9
- package/src/command-line/commands/blocks.ts +20 -16
- package/src/command-line/commands/doc.ts +155 -41
- package/src/command-line/commands/init.ts +54 -17
- package/src/command-line/commands/ls.ts +14 -10
- package/src/command-line/commands/migrate.ts +113 -25
- package/src/command-line/utils/registry.ts +5 -0
- package/src/command-line/utils/transformer.ts +112 -10
- package/src/lib/styles.css +61 -0
package/README.md
CHANGED
|
@@ -47,7 +47,18 @@ Kumo Svelte re-exports primitives for advanced use cases:
|
|
|
47
47
|
|
|
48
48
|
## CLI
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
Kumo Svelte includes the ported Kumo CLI for component discovery, block installation, migration helpers, and AI usage docs.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npx kumo-svelte help
|
|
54
|
+
npx kumo-svelte init
|
|
55
|
+
npx kumo-svelte blocks
|
|
56
|
+
npx kumo-svelte add PageHeader
|
|
57
|
+
npx kumo-svelte ls
|
|
58
|
+
npx kumo-svelte doc Button
|
|
59
|
+
npx kumo-svelte migrate --classes
|
|
60
|
+
npx kumo-svelte ai
|
|
61
|
+
```
|
|
51
62
|
|
|
52
63
|
## Development
|
|
53
64
|
|
package/dist/command-line/cli.js
CHANGED
|
@@ -21,11 +21,11 @@ COMPONENT REGISTRY:
|
|
|
21
21
|
|
|
22
22
|
MIGRATION:
|
|
23
23
|
kumo-svelte migrate Export token rename map for codebase migration
|
|
24
|
-
kumo-svelte migrate --classes Show class-level mappings
|
|
24
|
+
kumo-svelte migrate --classes Show class-level mappings (bg-kumo-base -> bg-kumo-base)
|
|
25
25
|
kumo-svelte migrate --help Show migration help
|
|
26
26
|
|
|
27
27
|
AI:
|
|
28
|
-
kumo-svelte ai Print the AI usage guide
|
|
28
|
+
kumo-svelte ai Print the AI usage guide (component API reference)
|
|
29
29
|
|
|
30
30
|
GENERAL:
|
|
31
31
|
kumo-svelte help Show this help message
|
|
@@ -37,6 +37,7 @@ Examples:
|
|
|
37
37
|
kumo-svelte ls
|
|
38
38
|
kumo-svelte doc Button
|
|
39
39
|
kumo-svelte docs
|
|
40
|
+
kumo-svelte migrate --json > rename-map.json
|
|
40
41
|
`;
|
|
41
42
|
async function main() {
|
|
42
43
|
const args = process.argv.slice(2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/command-line/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/command-line/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCZ,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAEvC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,MAAM,IAAI,EAAE,CAAC;YACb,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,EAAE,CAAC;YACT,MAAM;QACR,KAAK,KAAK;YACR,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM;QACR,KAAK,IAAI;YACP,EAAE,EAAE,CAAC;YACL,MAAM;QACR,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,IAAI;YACP,EAAE,EAAE,CAAC;YACL,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -35,14 +35,13 @@ async function confirm(message) {
|
|
|
35
35
|
export async function add(blockName) {
|
|
36
36
|
if (!blockName) {
|
|
37
37
|
console.error('Error: Block name is required.');
|
|
38
|
-
console.log('');
|
|
39
|
-
console.log('
|
|
40
|
-
console.log('Run "kumo-svelte blocks" to see available blocks.');
|
|
38
|
+
console.log('\nUsage: kumo-svelte add <block-name>');
|
|
39
|
+
console.log('\nRun "kumo-svelte blocks" to see available blocks.');
|
|
41
40
|
process.exit(1);
|
|
42
41
|
}
|
|
43
42
|
const config = readConfig();
|
|
44
43
|
if (!config) {
|
|
45
|
-
console.error('Error: kumo.json not found. Run "kumo-svelte init" first.');
|
|
44
|
+
console.error('Error: kumo.json not found. Run "kumo-svelte init" first to initialize the configuration.');
|
|
46
45
|
process.exit(1);
|
|
47
46
|
}
|
|
48
47
|
const registry = loadRegistry(import.meta.url);
|
|
@@ -50,7 +49,7 @@ export async function add(blockName) {
|
|
|
50
49
|
Object.values(registry.blocks ?? {}).find((item) => item.name.toLowerCase() === blockName.toLowerCase());
|
|
51
50
|
if (!block) {
|
|
52
51
|
console.error(`Error: Block '${blockName}' not found.`);
|
|
53
|
-
console.log('
|
|
52
|
+
console.log('\nRun "kumo-svelte blocks" to see available blocks.');
|
|
54
53
|
process.exit(1);
|
|
55
54
|
}
|
|
56
55
|
const blocksSourcePath = getBlocksSourcePath();
|
|
@@ -86,12 +85,20 @@ export async function add(blockName) {
|
|
|
86
85
|
mkdirSync(dirname(targetPath), { recursive: true });
|
|
87
86
|
const content = transformImports(readFileSync(sourcePath, 'utf-8'));
|
|
88
87
|
writeFileSync(targetPath, content, 'utf-8');
|
|
89
|
-
console.log(` ${
|
|
88
|
+
console.log(` ${file}`);
|
|
90
89
|
}
|
|
91
|
-
console.log('');
|
|
92
|
-
console.log(`Installed ${block.name}.`);
|
|
93
90
|
if (block.dependencies?.length) {
|
|
94
|
-
console.log(
|
|
91
|
+
console.log('\nThis block depends on the following Kumo Svelte components:\n');
|
|
92
|
+
for (const dependency of block.dependencies) {
|
|
93
|
+
console.log(` - ${dependency} (from kumo-svelte)`);
|
|
94
|
+
}
|
|
95
|
+
console.log('\nMake sure kumo-svelte is installed in your project:');
|
|
96
|
+
console.log(' pnpm add kumo-svelte');
|
|
95
97
|
}
|
|
98
|
+
console.log(`\nSuccessfully installed ${block.name}!`);
|
|
99
|
+
console.log('\nYou can now import it in your project:\n');
|
|
100
|
+
const blockFile = block.files[0].replace(/\.(?:svelte|tsx?)$/, '');
|
|
101
|
+
const importPath = join(config.blocksDir, blockFile).replace(/\\/g, '/');
|
|
102
|
+
console.log(` import { ${block.name} } from "${importPath}";`);
|
|
96
103
|
}
|
|
97
104
|
//# sourceMappingURL=add.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/command-line/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC;KAC5B,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IACpF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,OAAe;IACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC;IACvD,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,SAAkB;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/command-line/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,27 +3,30 @@ export function blocks() {
|
|
|
3
3
|
const registry = loadRegistry(import.meta.url);
|
|
4
4
|
const entries = Object.values(registry.blocks ?? {});
|
|
5
5
|
if (entries.length === 0) {
|
|
6
|
-
console.log('No blocks available
|
|
6
|
+
console.log('No blocks available.');
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
-
console.log(`Kumo Svelte Blocks (${entries.length} total)`);
|
|
10
|
-
console.log('');
|
|
11
9
|
const categories = new Map();
|
|
12
10
|
for (const block of entries) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const category = block.category || 'Other';
|
|
12
|
+
if (!categories.has(category)) {
|
|
13
|
+
categories.set(category, []);
|
|
14
|
+
}
|
|
15
|
+
categories.get(category).push(block);
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
17
|
+
const sortedCategories = [...categories.keys()].sort();
|
|
18
|
+
console.log(`Kumo Svelte Blocks (${entries.length} total)\n`);
|
|
19
|
+
for (const category of sortedCategories) {
|
|
20
|
+
const blocks = [...categories.get(category)].sort((a, b) => a.name.localeCompare(b.name));
|
|
21
|
+
console.log(`${category}:`);
|
|
22
|
+
for (const block of blocks) {
|
|
23
|
+
console.log(` ${block.name} - ${block.description}`);
|
|
24
24
|
}
|
|
25
25
|
console.log('');
|
|
26
26
|
}
|
|
27
|
-
console.log('
|
|
27
|
+
console.log('To install a block, run:');
|
|
28
|
+
console.log(' kumo-svelte add <block-name>\n');
|
|
29
|
+
console.log('Example:');
|
|
30
|
+
console.log(' kumo-svelte add PageHeader');
|
|
28
31
|
}
|
|
29
32
|
//# sourceMappingURL=blocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/command-line/commands/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,MAAM;IACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/command-line/commands/blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,MAAM;IACpB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;IAE9D,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,49 +1,135 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
console.log(`Category: ${component.category}`);
|
|
8
|
-
console.log(`Import: import { ${component.name} } from 'kumo-svelte';`);
|
|
9
|
-
if (component.sourceFile) {
|
|
10
|
-
console.log(`Source: ${component.sourceFile}`);
|
|
11
|
-
}
|
|
12
|
-
if (component.props?.length) {
|
|
13
|
-
console.log('');
|
|
14
|
-
console.log('Props:');
|
|
15
|
-
for (const prop of component.props) {
|
|
16
|
-
const required = prop.required ? ' required' : '';
|
|
17
|
-
const description = prop.description ? ` - ${prop.description}` : '';
|
|
18
|
-
console.log(` ${prop.name}: ${prop.type}${required}${description}`);
|
|
1
|
+
import { loadRegistry } from '../utils/registry.js';
|
|
2
|
+
function findComponent(registry, name) {
|
|
3
|
+
const lowerName = name.toLowerCase();
|
|
4
|
+
for (const [key, component] of Object.entries(registry.components ?? {})) {
|
|
5
|
+
if (key.toLowerCase() === lowerName || component.name.toLowerCase() === lowerName) {
|
|
6
|
+
return component;
|
|
19
7
|
}
|
|
20
8
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
function findSimilar(registry, name) {
|
|
12
|
+
const lowerName = name.toLowerCase();
|
|
13
|
+
const componentNames = Object.keys(registry.components ?? {});
|
|
14
|
+
return componentNames
|
|
15
|
+
.filter((componentName) => {
|
|
16
|
+
const normalized = componentName.toLowerCase();
|
|
17
|
+
return normalized.includes(lowerName) || lowerName.includes(normalized);
|
|
18
|
+
})
|
|
19
|
+
.slice(0, 5);
|
|
20
|
+
}
|
|
21
|
+
function normalizeProps(props) {
|
|
22
|
+
if (!props)
|
|
23
|
+
return [];
|
|
24
|
+
if (Array.isArray(props)) {
|
|
25
|
+
return props.map((prop) => [prop.name, prop]);
|
|
26
|
+
}
|
|
27
|
+
return Object.entries(props);
|
|
28
|
+
}
|
|
29
|
+
function formatProp(name, prop) {
|
|
30
|
+
const parts = [];
|
|
31
|
+
let typeStr = prop.type;
|
|
32
|
+
if (prop.values && prop.values.length > 0) {
|
|
33
|
+
typeStr = prop.values.map((value) => `"${value}"`).join(' | ');
|
|
34
|
+
}
|
|
35
|
+
const required = prop.required === true || prop.optional === false;
|
|
36
|
+
const requiredStr = required ? '(required)' : '';
|
|
37
|
+
const defaultStr = prop.default ? `[default: ${prop.default}]` : '';
|
|
38
|
+
parts.push(` ${name}: ${typeStr} ${requiredStr} ${defaultStr}`.trim());
|
|
39
|
+
if (prop.description) {
|
|
40
|
+
parts.push(` ${prop.description}`);
|
|
41
|
+
}
|
|
42
|
+
if (prop.descriptions && Object.keys(prop.descriptions).length > 0) {
|
|
43
|
+
for (const [value, description] of Object.entries(prop.descriptions)) {
|
|
44
|
+
parts.push(` - "${value}": ${description}`);
|
|
26
45
|
}
|
|
27
46
|
}
|
|
47
|
+
return parts.join('\n');
|
|
28
48
|
}
|
|
29
|
-
|
|
49
|
+
function formatExample(example) {
|
|
50
|
+
if (typeof example === 'string')
|
|
51
|
+
return example;
|
|
52
|
+
return example.code ?? example.title ?? '';
|
|
53
|
+
}
|
|
54
|
+
function formatComponentDoc(component) {
|
|
55
|
+
const lines = [];
|
|
56
|
+
lines.push(`# ${component.name}\n`);
|
|
57
|
+
lines.push(`${component.description}\n`);
|
|
58
|
+
lines.push(`**Import:** \`import { ${component.name} } from "${component.importPath ?? 'kumo-svelte'}";\`\n`);
|
|
59
|
+
lines.push(`**Category:** ${component.category}\n`);
|
|
60
|
+
const propEntries = normalizeProps(component.props);
|
|
61
|
+
if (propEntries.length > 0) {
|
|
62
|
+
lines.push('## Props\n');
|
|
63
|
+
for (const [propName, propInfo] of propEntries) {
|
|
64
|
+
lines.push(formatProp(propName, propInfo));
|
|
65
|
+
lines.push('');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (component.subComponents) {
|
|
69
|
+
lines.push('## Sub-Components\n');
|
|
70
|
+
for (const [subName, subInfo] of Object.entries(component.subComponents)) {
|
|
71
|
+
lines.push(`### ${component.name}.${subName}`);
|
|
72
|
+
if (subInfo.description) {
|
|
73
|
+
lines.push(subInfo.description);
|
|
74
|
+
}
|
|
75
|
+
if (subInfo.renderElement) {
|
|
76
|
+
lines.push(`Renders: ${subInfo.renderElement}`);
|
|
77
|
+
}
|
|
78
|
+
if (subInfo.props) {
|
|
79
|
+
lines.push('Props:');
|
|
80
|
+
for (const [propName, propInfo] of Object.entries(subInfo.props)) {
|
|
81
|
+
const required = propInfo.required ? '(required)' : '';
|
|
82
|
+
lines.push(` - ${propName}: ${propInfo.type} ${required}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
lines.push('');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (component.examples && component.examples.length > 0) {
|
|
89
|
+
lines.push('## Examples\n');
|
|
90
|
+
for (const example of component.examples.slice(0, 3)) {
|
|
91
|
+
const formatted = formatExample(example);
|
|
92
|
+
lines.push('```svelte');
|
|
93
|
+
lines.push(formatted);
|
|
94
|
+
lines.push('```\n');
|
|
95
|
+
}
|
|
96
|
+
if (component.examples.length > 3) {
|
|
97
|
+
lines.push(`(${component.examples.length - 3} more examples available in the docs)`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (component.colors && component.colors.length > 0) {
|
|
101
|
+
lines.push('\n## Semantic Tokens Used\n');
|
|
102
|
+
lines.push(component.colors.join(', '));
|
|
103
|
+
}
|
|
104
|
+
return lines.join('\n');
|
|
105
|
+
}
|
|
106
|
+
export function docs() {
|
|
30
107
|
const registry = loadRegistry(import.meta.url);
|
|
108
|
+
const components = Object.values(registry.components ?? {});
|
|
109
|
+
console.log(`# Kumo Svelte Component Documentation\n`);
|
|
110
|
+
console.log(`${components.length} components available\n`);
|
|
111
|
+
console.log('---\n');
|
|
112
|
+
for (const component of components) {
|
|
113
|
+
console.log(formatComponentDoc(component));
|
|
114
|
+
console.log('\n---\n');
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
export function doc(componentName) {
|
|
31
118
|
if (!componentName) {
|
|
32
|
-
|
|
33
|
-
printComponent(component);
|
|
34
|
-
console.log('\n---\n');
|
|
35
|
-
}
|
|
36
|
-
console.log('Use "kumo-svelte doc <ComponentName>" for detailed docs');
|
|
119
|
+
docs();
|
|
37
120
|
return;
|
|
38
121
|
}
|
|
39
|
-
const
|
|
40
|
-
const component = registry
|
|
41
|
-
Object.values(registry.components ?? {}).find((item) => item.name.toLowerCase() === componentName.toLowerCase());
|
|
122
|
+
const registry = loadRegistry(import.meta.url);
|
|
123
|
+
const component = findComponent(registry, componentName);
|
|
42
124
|
if (!component) {
|
|
43
|
-
|
|
44
|
-
console.
|
|
125
|
+
const similar = findSimilar(registry, componentName);
|
|
126
|
+
console.error(`Component "${componentName}" not found.`);
|
|
127
|
+
if (similar.length > 0) {
|
|
128
|
+
console.error(`\nDid you mean: ${similar.join(', ')}?`);
|
|
129
|
+
}
|
|
130
|
+
console.error('\nRun "kumo-svelte ls" to see all available components.');
|
|
45
131
|
process.exit(1);
|
|
46
132
|
}
|
|
47
|
-
|
|
133
|
+
console.log(formatComponentDoc(component));
|
|
48
134
|
}
|
|
49
135
|
//# sourceMappingURL=doc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../../src/command-line/commands/doc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../../src/command-line/commands/doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,55 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline/promises';
|
|
2
2
|
import { configExists, DEFAULT_CONFIG, writeConfig } from '../utils/config.js';
|
|
3
|
-
async function
|
|
3
|
+
export async function prompt(question, defaultValue) {
|
|
4
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
5
|
+
try {
|
|
6
|
+
const suffix = defaultValue ? ` (${defaultValue})` : '';
|
|
7
|
+
const answer = await rl.question(`${question}${suffix}: `);
|
|
8
|
+
return answer.trim() || defaultValue || '';
|
|
9
|
+
}
|
|
10
|
+
finally {
|
|
11
|
+
rl.close();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export async function confirm(question) {
|
|
4
15
|
if (!process.stdin.isTTY)
|
|
5
|
-
return
|
|
16
|
+
return false;
|
|
6
17
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
18
|
+
try {
|
|
19
|
+
const answer = await rl.question(`${question} (y/n): `);
|
|
20
|
+
return answer.trim().toLowerCase() === 'y';
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
rl.close();
|
|
24
|
+
}
|
|
10
25
|
}
|
|
11
26
|
export async function init() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
27
|
+
try {
|
|
28
|
+
const projectRoot = process.cwd();
|
|
29
|
+
if (configExists(projectRoot)) {
|
|
30
|
+
console.log('kumo.json already exists in this directory.');
|
|
31
|
+
const shouldOverwrite = await confirm('Do you want to overwrite it?');
|
|
32
|
+
if (!shouldOverwrite) {
|
|
33
|
+
console.log('Initialization cancelled.');
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
console.log('\nInitializing Kumo Svelte configuration...\n');
|
|
38
|
+
const blocksDir = process.stdin.isTTY ? await prompt('Where should blocks be installed?', DEFAULT_CONFIG.blocksDir) : DEFAULT_CONFIG.blocksDir;
|
|
39
|
+
const config = {
|
|
40
|
+
blocksDir: blocksDir || DEFAULT_CONFIG.blocksDir,
|
|
41
|
+
version: DEFAULT_CONFIG.version
|
|
42
|
+
};
|
|
43
|
+
writeConfig(config, projectRoot);
|
|
44
|
+
console.log('\nCreated kumo.json with the following configuration:');
|
|
45
|
+
console.log(` Blocks directory: ${config.blocksDir}`);
|
|
46
|
+
console.log('\nNext steps:');
|
|
47
|
+
console.log(' - Run `kumo-svelte blocks` to see available blocks');
|
|
48
|
+
console.log(' - Run `kumo-svelte add <block>` to install a block');
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error('Error initializing configuration:', error);
|
|
52
|
+
process.exit(1);
|
|
15
53
|
}
|
|
16
|
-
const blocksDir = await ask('Where should blocks be installed?', DEFAULT_CONFIG.blocksDir);
|
|
17
|
-
writeConfig({ blocksDir });
|
|
18
|
-
console.log('Created kumo.json');
|
|
19
|
-
console.log('');
|
|
20
|
-
console.log('Next steps:');
|
|
21
|
-
console.log(' 1. Run "kumo-svelte blocks" to see available blocks');
|
|
22
|
-
console.log(' 2. Run "kumo-svelte add <BlockName>" to install a block');
|
|
23
54
|
}
|
|
24
55
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/command-line/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/command-line/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,18 +2,21 @@ import { loadRegistry } from '../utils/registry.js';
|
|
|
2
2
|
export function ls() {
|
|
3
3
|
const registry = loadRegistry(import.meta.url);
|
|
4
4
|
const components = Object.values(registry.components ?? {});
|
|
5
|
-
console.log(`Kumo Svelte Components (${components.length} total)`);
|
|
6
|
-
console.log('');
|
|
7
5
|
const categories = new Map();
|
|
8
6
|
for (const component of components) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const category = component.category || 'Other';
|
|
8
|
+
if (!categories.has(category)) {
|
|
9
|
+
categories.set(category, []);
|
|
10
|
+
}
|
|
11
|
+
categories.get(category).push(component);
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const sortedCategories = [...categories.keys()].sort();
|
|
14
|
+
console.log(`Kumo Svelte Components (${components.length} total)\n`);
|
|
15
|
+
for (const category of sortedCategories) {
|
|
16
|
+
const items = [...categories.get(category)].sort((a, b) => a.name.localeCompare(b.name));
|
|
17
|
+
console.log(`${category}:`);
|
|
15
18
|
for (const component of items) {
|
|
16
|
-
console.log(` ${component.name
|
|
19
|
+
console.log(` ${component.name} - ${component.description}`);
|
|
17
20
|
}
|
|
18
21
|
console.log('');
|
|
19
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/command-line/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,EAAE;IAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAE5D,
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/command-line/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,UAAU,EAAE;IAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;IACxD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,2BAA2B,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC;IAErE,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC5B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|