uixskills 0.1.0 → 0.2.0
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/add.d.ts +1 -0
- package/dist/add.d.ts.map +1 -1
- package/dist/add.js +48 -7
- package/dist/add.js.map +1 -1
- package/package.json +2 -2
package/dist/add.d.ts
CHANGED
package/dist/add.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,UAAU,UAAU;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAClB;AAyBD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqG/E"}
|
package/dist/add.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Add command - Install a skill from GitHub
|
|
4
|
+
* Supports both direct repo (owner/repo) and name resolution via API
|
|
4
5
|
*/
|
|
5
6
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -12,15 +13,55 @@ const ora_1 = __importDefault(require("ora"));
|
|
|
12
13
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
13
14
|
const path_1 = __importDefault(require("path"));
|
|
14
15
|
const utils_js_1 = require("./utils.js");
|
|
16
|
+
const API_BASE = 'https://uixskills.com/api';
|
|
17
|
+
/**
|
|
18
|
+
* Resolve skill name to GitHub repo via API
|
|
19
|
+
*/
|
|
20
|
+
async function resolveSkillName(name) {
|
|
21
|
+
try {
|
|
22
|
+
const response = await fetch(`${API_BASE}/skills/resolve?name=${encodeURIComponent(name)}`);
|
|
23
|
+
if (response.ok) {
|
|
24
|
+
return await response.json();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// API not available, fall back to direct GitHub
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
15
32
|
async function addSkill(repo, options) {
|
|
16
|
-
|
|
33
|
+
const spinner = (0, ora_1.default)(`Resolving ${chalk_1.default.cyan(repo)}...`).start();
|
|
34
|
+
let owner;
|
|
35
|
+
let repoName;
|
|
36
|
+
let isOfficial = false;
|
|
37
|
+
// Check if input is owner/repo format or just a name
|
|
17
38
|
const repoPattern = /^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_.-]+$/;
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
if (repoPattern.test(repo)) {
|
|
40
|
+
// Direct owner/repo format
|
|
41
|
+
[owner, repoName] = repo.split('/');
|
|
42
|
+
spinner.text = `Fetching skill from ${chalk_1.default.cyan(repo)}...`;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Try to resolve name via API
|
|
46
|
+
spinner.text = `Looking up "${chalk_1.default.cyan(repo)}" in registry...`;
|
|
47
|
+
const resolved = await resolveSkillName(repo);
|
|
48
|
+
if (resolved) {
|
|
49
|
+
owner = resolved.github_owner;
|
|
50
|
+
repoName = resolved.github_repo;
|
|
51
|
+
isOfficial = resolved.is_official;
|
|
52
|
+
spinner.text = `Found: ${chalk_1.default.cyan(`${owner}/${repoName}`)}${isOfficial ? chalk_1.default.blue(' ✓ Official') : ''}`;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
spinner.fail(chalk_1.default.red(`Skill "${repo}" not found in registry`));
|
|
56
|
+
console.log(chalk_1.default.yellow('\nTry using the full repository path:'));
|
|
57
|
+
console.log(chalk_1.default.gray(` npx uixskills add owner/repo-name`));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Show warning for community skills
|
|
62
|
+
if (!isOfficial && !repo.includes('/')) {
|
|
63
|
+
console.log(chalk_1.default.yellow('\n⚠️ This is a community skill, not officially verified.'));
|
|
21
64
|
}
|
|
22
|
-
const [owner, repoName] = repo.split('/');
|
|
23
|
-
const spinner = (0, ora_1.default)(`Fetching skill from ${chalk_1.default.cyan(repo)}...`).start();
|
|
24
65
|
try {
|
|
25
66
|
// 1. Fetch skill manifest
|
|
26
67
|
spinner.text = 'Fetching skill manifest...';
|
|
@@ -66,7 +107,7 @@ async function addSkill(repo, options) {
|
|
|
66
107
|
await (0, utils_js_1.recordInstall)(owner, repoName);
|
|
67
108
|
spinner.succeed(chalk_1.default.green(`Skill installed successfully!`));
|
|
68
109
|
console.log(`
|
|
69
|
-
${chalk_1.default.bold('Installed:')} ${chalk_1.default.cyan(manifest.name || repoName)}
|
|
110
|
+
${chalk_1.default.bold('Installed:')} ${chalk_1.default.cyan(manifest.name || repoName)}${isOfficial ? chalk_1.default.blue(' ✓ Official') : chalk_1.default.gray(' (Community)')}
|
|
70
111
|
${chalk_1.default.bold('Location:')} ${chalk_1.default.gray(targetDir)}
|
|
71
112
|
${chalk_1.default.bold('Files:')} ${files.length} files
|
|
72
113
|
|
package/dist/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../src/add.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uixskills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "CLI tool for installing UI/UX skills from the UIXskills gallery",
|
|
5
5
|
"author": "UIXskills",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,4 +44,4 @@
|
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=18.0.0"
|
|
46
46
|
}
|
|
47
|
-
}
|
|
47
|
+
}
|