@smart-coder-labs/apple-design-system 1.2.1 → 1.2.3
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/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +46 -36
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/update-components.d.ts.map +1 -1
- package/dist/cli/commands/update-components.js +30 -45
- package/dist/cli/commands/update-components.js.map +1 -1
- package/dist/cli/utils/config.d.ts +21 -0
- package/dist/cli/utils/config.d.ts.map +1 -0
- package/dist/cli/utils/config.js +76 -0
- package/dist/cli/utils/config.js.map +1 -0
- package/dist/cli/utils/registry.d.ts +5 -1
- package/dist/cli/utils/registry.d.ts.map +1 -1
- package/dist/cli/utils/registry.js +21 -18
- package/dist/cli/utils/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../cli/commands/add.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,GAAG,GAAU,YAAY,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../cli/commands/add.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,GAAG,GAAU,YAAY,MAAM,EAAE,kBAmF7C,CAAC"}
|
package/dist/cli/commands/add.js
CHANGED
|
@@ -10,36 +10,40 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
10
10
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
11
|
const ora_1 = __importDefault(require("ora"));
|
|
12
12
|
const registry_1 = require("../utils/registry");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
13
14
|
const add = async (components) => {
|
|
15
|
+
const available = await (0, registry_1.getAvailableComponents)();
|
|
14
16
|
if (!components || components.length === 0) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const modeResponse = await (0, prompts_1.default)({
|
|
18
|
+
type: "select",
|
|
19
|
+
name: "mode",
|
|
20
|
+
message: "What would you like to do?",
|
|
21
|
+
choices: [
|
|
22
|
+
{ title: "Add all components", value: "all" },
|
|
23
|
+
{ title: "Select specific components", value: "select" },
|
|
24
|
+
],
|
|
23
25
|
});
|
|
24
|
-
|
|
26
|
+
if (modeResponse.mode === "all") {
|
|
27
|
+
components = available;
|
|
28
|
+
console.log(chalk_1.default.green(`\n✓ Selected all ${available.length} components`));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const response = await (0, prompts_1.default)({
|
|
32
|
+
type: "multiselect",
|
|
33
|
+
name: "items",
|
|
34
|
+
message: "Which components would you like to add?",
|
|
35
|
+
choices: available.map((c) => ({ title: c, value: c })),
|
|
36
|
+
min: 1,
|
|
37
|
+
});
|
|
38
|
+
components = response.items;
|
|
39
|
+
}
|
|
25
40
|
}
|
|
26
41
|
if (!components || components.length === 0) {
|
|
27
42
|
console.log(chalk_1.default.yellow("No components selected."));
|
|
28
43
|
return;
|
|
29
44
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (fs_extra_1.default.existsSync("design-system.json")) {
|
|
33
|
-
try {
|
|
34
|
-
config = await fs_extra_1.default.readJSON("design-system.json");
|
|
35
|
-
}
|
|
36
|
-
catch (e) {
|
|
37
|
-
console.warn("Could not read design-system.json, using defaults.");
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
console.warn("design-system.json not found. Using default ./components/ui");
|
|
42
|
-
}
|
|
45
|
+
const config = await (0, config_1.loadConfig)();
|
|
46
|
+
const dsVersion = await (0, registry_1.getRegistryVersion)();
|
|
43
47
|
const spinner = (0, ora_1.default)("Installing components...").start();
|
|
44
48
|
const queue = [...components];
|
|
45
49
|
const processed = new Set();
|
|
@@ -49,27 +53,33 @@ const add = async (components) => {
|
|
|
49
53
|
continue;
|
|
50
54
|
processed.add(component);
|
|
51
55
|
spinner.text = `Installing ${component}...`;
|
|
52
|
-
const
|
|
53
|
-
if (!
|
|
56
|
+
const files = await (0, registry_1.getComponentFiles)(component);
|
|
57
|
+
if (!files) {
|
|
54
58
|
spinner.warn(`Component '${component}' not found.`);
|
|
55
59
|
continue;
|
|
56
60
|
}
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
queue.
|
|
65
|
-
|
|
61
|
+
// Detect local dependencies from main file
|
|
62
|
+
const mainFile = files.find((f) => f.name === `${component}.tsx`);
|
|
63
|
+
if (mainFile) {
|
|
64
|
+
const localImportRegex = /from\s+['"]\.\.\/([A-Z][a-zA-Z0-9]*)['"]/g;
|
|
65
|
+
let match;
|
|
66
|
+
while ((match = localImportRegex.exec(mainFile.content)) !== null) {
|
|
67
|
+
const dep = match[1];
|
|
68
|
+
if (!processed.has(dep) && !queue.includes(dep)) {
|
|
69
|
+
queue.push(dep);
|
|
70
|
+
spinner.info(`Detected dependency: ${dep}`);
|
|
71
|
+
}
|
|
66
72
|
}
|
|
67
73
|
}
|
|
68
|
-
const
|
|
69
|
-
await fs_extra_1.default.ensureDir(
|
|
70
|
-
|
|
74
|
+
const componentDir = path_1.default.resolve(process.cwd(), config.componentsDir, component);
|
|
75
|
+
await fs_extra_1.default.ensureDir(componentDir);
|
|
76
|
+
for (const file of files) {
|
|
77
|
+
await fs_extra_1.default.writeFile(path_1.default.join(componentDir, file.name), file.content);
|
|
78
|
+
}
|
|
79
|
+
await (0, config_1.recordInstall)(config, component, dsVersion, "folder");
|
|
71
80
|
spinner.succeed(`Installed ${component}`);
|
|
72
81
|
}
|
|
82
|
+
await (0, config_1.saveConfig)(config);
|
|
73
83
|
spinner.stop();
|
|
74
84
|
console.log(chalk_1.default.bold.green("\nDone!"));
|
|
75
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../cli/commands/add.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../cli/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../cli/commands/init.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AACxB,wDAA0B;AAC1B,kDAA0B;AAC1B,8CAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-components.d.ts","sourceRoot":"","sources":["../../../cli/commands/update-components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-components.d.ts","sourceRoot":"","sources":["../../../cli/commands/update-components.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,qBAuG5B,CAAC"}
|
|
@@ -10,65 +10,44 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
10
10
|
const ora_1 = __importDefault(require("ora"));
|
|
11
11
|
const prompts_1 = __importDefault(require("prompts"));
|
|
12
12
|
const registry_1 = require("../utils/registry");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
13
14
|
const updateComponents = async () => {
|
|
14
|
-
|
|
15
|
-
let config = { componentsDir: "./components/ui" };
|
|
16
|
-
if (fs_extra_1.default.existsSync("design-system.json")) {
|
|
17
|
-
try {
|
|
18
|
-
config = await fs_extra_1.default.readJSON("design-system.json");
|
|
19
|
-
}
|
|
20
|
-
catch (e) {
|
|
21
|
-
console.warn("Could not read design-system.json, using defaults.");
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
console.warn("design-system.json not found. Using default ./components/ui");
|
|
26
|
-
}
|
|
15
|
+
const config = await (0, config_1.loadConfig)();
|
|
27
16
|
const resolvedComponentsDir = path_1.default.resolve(process.cwd(), config.componentsDir);
|
|
28
|
-
//
|
|
29
|
-
if (!fs_extra_1.default.existsSync(resolvedComponentsDir)) {
|
|
30
|
-
console.log(chalk_1.default.yellow(`Components directory not found at ${config.componentsDir}`));
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
// 3. Get installed components
|
|
17
|
+
// 1. Scan installed components (folders + flat files + config tracking)
|
|
34
18
|
const spinner = (0, ora_1.default)("Scanning for installed components...").start();
|
|
35
|
-
const files = await fs_extra_1.default.readdir(resolvedComponentsDir);
|
|
36
19
|
const availableComponents = await (0, registry_1.getAvailableComponents)();
|
|
37
|
-
const installedComponents =
|
|
38
|
-
.filter((file) => file.endsWith(".tsx") || file.endsWith(".ts"))
|
|
39
|
-
.map((file) => path_1.default.basename(file, path_1.default.extname(file)))
|
|
40
|
-
.filter((name) => availableComponents.includes(name))
|
|
41
|
-
.sort();
|
|
20
|
+
const installedComponents = await (0, config_1.detectInstalledComponents)(resolvedComponentsDir, availableComponents, config);
|
|
42
21
|
spinner.stop();
|
|
43
22
|
if (installedComponents.length === 0) {
|
|
44
23
|
console.log(chalk_1.default.yellow("No installed components found."));
|
|
45
24
|
return;
|
|
46
25
|
}
|
|
47
26
|
console.log(chalk_1.default.blue(`\nFound ${installedComponents.length} installed components:\n`));
|
|
48
|
-
//
|
|
49
|
-
const response = await (0, prompts_1.default)(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
]);
|
|
27
|
+
// 2. Selection
|
|
28
|
+
const response = await (0, prompts_1.default)({
|
|
29
|
+
type: "select",
|
|
30
|
+
name: "updateMode",
|
|
31
|
+
message: "What would you like to do?",
|
|
32
|
+
choices: [
|
|
33
|
+
{ title: "Update all components", value: "all" },
|
|
34
|
+
{ title: "Select specific components", value: "select" },
|
|
35
|
+
],
|
|
36
|
+
});
|
|
60
37
|
let componentsToUpdate = [];
|
|
61
38
|
if (response.updateMode === "all") {
|
|
62
39
|
componentsToUpdate = installedComponents;
|
|
63
40
|
console.log(chalk_1.default.green(`\n✓ Selected all ${installedComponents.length} components`));
|
|
64
41
|
}
|
|
65
42
|
else {
|
|
66
|
-
// Let user select specific components
|
|
67
43
|
const selectResponse = await (0, prompts_1.default)({
|
|
68
44
|
type: "multiselect",
|
|
69
45
|
name: "items",
|
|
70
46
|
message: "Which components would you like to update?",
|
|
71
|
-
choices: installedComponents.map((c) => ({
|
|
47
|
+
choices: installedComponents.map((c) => ({
|
|
48
|
+
title: `${c}${config.components[c] ? chalk_1.default.gray(` (v${config.components[c].version})`) : ""}`,
|
|
49
|
+
value: c,
|
|
50
|
+
})),
|
|
72
51
|
min: 1,
|
|
73
52
|
});
|
|
74
53
|
componentsToUpdate = selectResponse.items;
|
|
@@ -78,21 +57,26 @@ const updateComponents = async () => {
|
|
|
78
57
|
}
|
|
79
58
|
console.log(chalk_1.default.green(`\n✓ Selected ${componentsToUpdate.length} components`));
|
|
80
59
|
}
|
|
81
|
-
//
|
|
60
|
+
// 3. Fetch and update
|
|
61
|
+
const dsVersion = await (0, registry_1.getRegistryVersion)();
|
|
82
62
|
const updateSpinner = (0, ora_1.default)("Updating components...").start();
|
|
83
63
|
let successCount = 0;
|
|
84
64
|
let failCount = 0;
|
|
85
65
|
for (const component of componentsToUpdate) {
|
|
86
66
|
updateSpinner.text = `Updating ${component}...`;
|
|
87
67
|
try {
|
|
88
|
-
const
|
|
89
|
-
if (!
|
|
68
|
+
const files = await (0, registry_1.getComponentFiles)(component);
|
|
69
|
+
if (!files) {
|
|
90
70
|
updateSpinner.warn(`Component '${component}' not found in registry.`);
|
|
91
71
|
failCount++;
|
|
92
72
|
continue;
|
|
93
73
|
}
|
|
94
|
-
const
|
|
95
|
-
await fs_extra_1.default.
|
|
74
|
+
const componentDir = path_1.default.resolve(resolvedComponentsDir, component);
|
|
75
|
+
await fs_extra_1.default.ensureDir(componentDir);
|
|
76
|
+
for (const file of files) {
|
|
77
|
+
await fs_extra_1.default.writeFile(path_1.default.join(componentDir, file.name), file.content);
|
|
78
|
+
}
|
|
79
|
+
await (0, config_1.recordInstall)(config, component, dsVersion, "folder");
|
|
96
80
|
updateSpinner.succeed(`Updated ${component}`);
|
|
97
81
|
successCount++;
|
|
98
82
|
}
|
|
@@ -102,7 +86,8 @@ const updateComponents = async () => {
|
|
|
102
86
|
}
|
|
103
87
|
}
|
|
104
88
|
updateSpinner.stop();
|
|
105
|
-
|
|
89
|
+
await (0, config_1.saveConfig)(config);
|
|
90
|
+
// 4. Summary
|
|
106
91
|
console.log(chalk_1.default.bold("\n=== Update Summary ==="));
|
|
107
92
|
console.log(chalk_1.default.green(`✓ Successfully updated: ${successCount} components`));
|
|
108
93
|
if (failCount > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-components.js","sourceRoot":"","sources":["../../../cli/commands/update-components.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,kDAA0B;AAC1B,8CAAsB;AACtB,sDAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"update-components.js","sourceRoot":"","sources":["../../../cli/commands/update-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ComponentRecord {
|
|
2
|
+
version: string;
|
|
3
|
+
type: "folder" | "flat";
|
|
4
|
+
installedAt: string;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
}
|
|
7
|
+
export interface DesignSystemConfig {
|
|
8
|
+
componentsDir: string;
|
|
9
|
+
globalCss?: string;
|
|
10
|
+
components: Record<string, ComponentRecord>;
|
|
11
|
+
}
|
|
12
|
+
export declare function loadConfig(): Promise<DesignSystemConfig>;
|
|
13
|
+
export declare function saveConfig(config: DesignSystemConfig): Promise<void>;
|
|
14
|
+
export declare function recordInstall(config: DesignSystemConfig, componentName: string, version: string, type: "folder" | "flat"): Promise<DesignSystemConfig>;
|
|
15
|
+
/**
|
|
16
|
+
* Detect installed components from disk.
|
|
17
|
+
* Supports both folder structure (ComponentName/) and flat files (ComponentName.tsx).
|
|
18
|
+
* Also merges components tracked in design-system.json.
|
|
19
|
+
*/
|
|
20
|
+
export declare function detectInstalledComponents(resolvedComponentsDir: string, availableComponents: string[], config: DesignSystemConfig): Promise<string[]>;
|
|
21
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../cli/utils/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAQD,wBAAsB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAY9D;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GAAG,MAAM,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAU7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,qBAAqB,EAAE,MAAM,EAC7B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CA8BnB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadConfig = loadConfig;
|
|
7
|
+
exports.saveConfig = saveConfig;
|
|
8
|
+
exports.recordInstall = recordInstall;
|
|
9
|
+
exports.detectInstalledComponents = detectInstalledComponents;
|
|
10
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const CONFIG_FILE = "design-system.json";
|
|
13
|
+
const DEFAULT_CONFIG = {
|
|
14
|
+
componentsDir: "./components/ui",
|
|
15
|
+
components: {},
|
|
16
|
+
};
|
|
17
|
+
async function loadConfig() {
|
|
18
|
+
if (!fs_extra_1.default.existsSync(CONFIG_FILE)) {
|
|
19
|
+
console.warn("design-system.json not found. Using defaults.");
|
|
20
|
+
return { ...DEFAULT_CONFIG };
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const raw = await fs_extra_1.default.readJSON(CONFIG_FILE);
|
|
24
|
+
return { ...DEFAULT_CONFIG, ...raw, components: raw.components ?? {} };
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
console.warn("Could not read design-system.json. Using defaults.");
|
|
28
|
+
return { ...DEFAULT_CONFIG };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
async function saveConfig(config) {
|
|
32
|
+
await fs_extra_1.default.writeJSON(CONFIG_FILE, config, { spaces: 2 });
|
|
33
|
+
}
|
|
34
|
+
async function recordInstall(config, componentName, version, type) {
|
|
35
|
+
const now = new Date().toISOString();
|
|
36
|
+
const existing = config.components[componentName];
|
|
37
|
+
config.components[componentName] = {
|
|
38
|
+
version,
|
|
39
|
+
type,
|
|
40
|
+
installedAt: existing?.installedAt ?? now,
|
|
41
|
+
updatedAt: now,
|
|
42
|
+
};
|
|
43
|
+
return config;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Detect installed components from disk.
|
|
47
|
+
* Supports both folder structure (ComponentName/) and flat files (ComponentName.tsx).
|
|
48
|
+
* Also merges components tracked in design-system.json.
|
|
49
|
+
*/
|
|
50
|
+
async function detectInstalledComponents(resolvedComponentsDir, availableComponents, config) {
|
|
51
|
+
const found = new Set();
|
|
52
|
+
// 1. From disk
|
|
53
|
+
if (fs_extra_1.default.existsSync(resolvedComponentsDir)) {
|
|
54
|
+
const entries = await fs_extra_1.default.readdir(resolvedComponentsDir, { withFileTypes: true });
|
|
55
|
+
for (const entry of entries) {
|
|
56
|
+
if (entry.isDirectory() && availableComponents.includes(entry.name)) {
|
|
57
|
+
found.add(entry.name);
|
|
58
|
+
}
|
|
59
|
+
else if (entry.isFile()) {
|
|
60
|
+
const name = path_1.default.basename(entry.name, path_1.default.extname(entry.name));
|
|
61
|
+
if ((entry.name.endsWith(".tsx") || entry.name.endsWith(".ts")) &&
|
|
62
|
+
availableComponents.includes(name)) {
|
|
63
|
+
found.add(name);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// 2. From config tracking (catches components installed elsewhere)
|
|
69
|
+
for (const name of Object.keys(config.components)) {
|
|
70
|
+
if (availableComponents.includes(name)) {
|
|
71
|
+
found.add(name);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return Array.from(found).sort();
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../cli/utils/config.ts"],"names":[],"mappings":";;;;;AAsBA,gCAYC;AAED,gCAEC;AAED,sCAeC;AAOD,8DAkCC;AAhGD,wDAA0B;AAC1B,gDAAwB;AAexB,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,cAAc,GAAuB;IACzC,aAAa,EAAE,iBAAiB;IAChC,UAAU,EAAE,EAAE;CACf,CAAC;AAEK,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACnE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,MAA0B;IACzD,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAA0B,EAC1B,aAAqB,EACrB,OAAe,EACf,IAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG;QACjC,OAAO;QACP,IAAI;QACJ,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,GAAG;QACzC,SAAS,EAAE,GAAG;KACf,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAC7C,qBAA6B,EAC7B,mBAA6B,EAC7B,MAA0B;IAE1B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,eAAe;IACf,IAAI,kBAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,IACE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC3D,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
export declare function getRegistryVersion(): Promise<string>;
|
|
1
2
|
export declare function getAvailableComponents(): Promise<string[]>;
|
|
2
|
-
export declare function
|
|
3
|
+
export declare function getComponentFiles(componentName: string): Promise<Array<{
|
|
4
|
+
name: string;
|
|
5
|
+
content: string;
|
|
6
|
+
}> | null>;
|
|
3
7
|
export declare function getComponentDependencies(componentName: string): Promise<string[]>;
|
|
4
8
|
export declare function getGlobalCss(): Promise<string | null>;
|
|
5
9
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../cli/utils/registry.ts"],"names":[],"mappings":"AAuCA,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGhE;AAED,wBAAsB,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../cli/utils/registry.ts"],"names":[],"mappings":"AAuCA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG1D;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGhE;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAuB1D;AAED,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvF;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW3D"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// This registry.ts now fetches from a remote JSON file on GitHub Raw.
|
|
3
|
-
// It replaces local file system calls with fetch.
|
|
4
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRegistryVersion = getRegistryVersion;
|
|
5
4
|
exports.getAvailableComponents = getAvailableComponents;
|
|
6
|
-
exports.
|
|
5
|
+
exports.getComponentFiles = getComponentFiles;
|
|
7
6
|
exports.getComponentDependencies = getComponentDependencies;
|
|
8
7
|
exports.getGlobalCss = getGlobalCss;
|
|
9
|
-
//
|
|
8
|
+
// Fetches from a remote JSON registry on GitHub Raw.
|
|
10
9
|
const REGISTRY_URL = "https://raw.githubusercontent.com/smart-coder-labs/design-system/refs/heads/main/registry.json";
|
|
11
10
|
const CSS_URL = "https://raw.githubusercontent.com/smart-coder-labs/design-system/refs/heads/main/globals.css";
|
|
12
11
|
let cachedRegistry = null;
|
|
@@ -16,10 +15,9 @@ async function fetchRegistry() {
|
|
|
16
15
|
try {
|
|
17
16
|
const res = await fetch(REGISTRY_URL);
|
|
18
17
|
if (!res.ok) {
|
|
19
|
-
throw new Error(`Failed to fetch registry
|
|
18
|
+
throw new Error(`Failed to fetch registry: ${res.statusText}`);
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
cachedRegistry = data;
|
|
20
|
+
cachedRegistry = (await res.json());
|
|
23
21
|
return cachedRegistry;
|
|
24
22
|
}
|
|
25
23
|
catch (error) {
|
|
@@ -27,24 +25,29 @@ async function fetchRegistry() {
|
|
|
27
25
|
return {};
|
|
28
26
|
}
|
|
29
27
|
}
|
|
28
|
+
async function getRegistryVersion() {
|
|
29
|
+
const registry = await fetchRegistry();
|
|
30
|
+
return registry._version ?? "unknown";
|
|
31
|
+
}
|
|
30
32
|
async function getAvailableComponents() {
|
|
31
33
|
const registry = await fetchRegistry();
|
|
32
|
-
return Object.keys(registry);
|
|
34
|
+
return Object.keys(registry).filter((k) => k !== "_version");
|
|
33
35
|
}
|
|
34
|
-
async function
|
|
36
|
+
async function getComponentFiles(componentName) {
|
|
35
37
|
const registry = await fetchRegistry();
|
|
36
38
|
const component = registry[componentName];
|
|
37
39
|
if (!component || !component.files || component.files.length === 0) {
|
|
38
40
|
return null;
|
|
39
41
|
}
|
|
40
|
-
// We currently only handle single-file components for simplicity
|
|
41
|
-
const fileUrl = component.files[0].url;
|
|
42
42
|
try {
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
const results = await Promise.all(component.files.map(async (file) => {
|
|
44
|
+
const res = await fetch(file.url);
|
|
45
|
+
if (!res.ok) {
|
|
46
|
+
throw new Error(`Failed to fetch ${file.name}: ${res.statusText}`);
|
|
47
|
+
}
|
|
48
|
+
return { name: file.name, content: await res.text() };
|
|
49
|
+
}));
|
|
50
|
+
return results;
|
|
48
51
|
}
|
|
49
52
|
catch (error) {
|
|
50
53
|
console.error(`Error fetching component ${componentName}:`, error);
|
|
@@ -54,13 +57,13 @@ async function getComponentSource(componentName) {
|
|
|
54
57
|
async function getComponentDependencies(componentName) {
|
|
55
58
|
const registry = await fetchRegistry();
|
|
56
59
|
const component = registry[componentName];
|
|
57
|
-
return component?.dependencies
|
|
60
|
+
return component?.dependencies ?? [];
|
|
58
61
|
}
|
|
59
62
|
async function getGlobalCss() {
|
|
60
63
|
try {
|
|
61
64
|
const res = await fetch(CSS_URL);
|
|
62
65
|
if (!res.ok) {
|
|
63
|
-
throw new Error(`Failed to fetch global css
|
|
66
|
+
throw new Error(`Failed to fetch global css: ${res.statusText}`);
|
|
64
67
|
}
|
|
65
68
|
return await res.text();
|
|
66
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../cli/utils/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../cli/utils/registry.ts"],"names":[],"mappings":"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"}
|