@sekiui/cli 0.0.71
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/add.d.ts +7 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +111 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +241 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/components/registry.d.ts +12 -0
- package/dist/components/registry.d.ts.map +1 -0
- package/dist/components/registry.js +593 -0
- package/dist/components/registry.js.map +1 -0
- package/dist/frameworks/angular.d.ts +4 -0
- package/dist/frameworks/angular.d.ts.map +1 -0
- package/dist/frameworks/angular.js +60 -0
- package/dist/frameworks/angular.js.map +1 -0
- package/dist/frameworks/detect.d.ts +4 -0
- package/dist/frameworks/detect.d.ts.map +1 -0
- package/dist/frameworks/detect.js +72 -0
- package/dist/frameworks/detect.js.map +1 -0
- package/dist/frameworks/react.d.ts +5 -0
- package/dist/frameworks/react.d.ts.map +1 -0
- package/dist/frameworks/react.js +52 -0
- package/dist/frameworks/react.js.map +1 -0
- package/dist/frameworks/vanilla.d.ts +3 -0
- package/dist/frameworks/vanilla.d.ts.map +1 -0
- package/dist/frameworks/vanilla.js +49 -0
- package/dist/frameworks/vanilla.js.map +1 -0
- package/dist/frameworks/vue.d.ts +4 -0
- package/dist/frameworks/vue.d.ts.map +1 -0
- package/dist/frameworks/vue.js +63 -0
- package/dist/frameworks/vue.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/themes/index.d.ts +13 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +33 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/presets/blue.d.ts +3 -0
- package/dist/themes/presets/blue.d.ts.map +1 -0
- package/dist/themes/presets/blue.js +49 -0
- package/dist/themes/presets/blue.js.map +1 -0
- package/dist/themes/presets/neutral.d.ts +3 -0
- package/dist/themes/presets/neutral.d.ts.map +1 -0
- package/dist/themes/presets/neutral.js +49 -0
- package/dist/themes/presets/neutral.js.map +1 -0
- package/dist/themes/presets/rose.d.ts +3 -0
- package/dist/themes/presets/rose.d.ts.map +1 -0
- package/dist/themes/presets/rose.js +49 -0
- package/dist/themes/presets/rose.js.map +1 -0
- package/dist/themes/presets/slate.d.ts +3 -0
- package/dist/themes/presets/slate.d.ts.map +1 -0
- package/dist/themes/presets/slate.js +49 -0
- package/dist/themes/presets/slate.js.map +1 -0
- package/dist/themes/presets/violet.d.ts +3 -0
- package/dist/themes/presets/violet.d.ts.map +1 -0
- package/dist/themes/presets/violet.js +49 -0
- package/dist/themes/presets/violet.js.map +1 -0
- package/dist/themes/presets/zinc.d.ts +3 -0
- package/dist/themes/presets/zinc.d.ts.map +1 -0
- package/dist/themes/presets/zinc.js +49 -0
- package/dist/themes/presets/zinc.js.map +1 -0
- package/dist/themes/types.d.ts +8 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +30 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/utils/css.d.ts +4 -0
- package/dist/utils/css.d.ts.map +1 -0
- package/dist/utils/css.js +45 -0
- package/dist/utils/css.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Framework } from '../frameworks/detect';
|
|
2
|
+
export interface AddOptions {
|
|
3
|
+
output?: string;
|
|
4
|
+
framework?: Framework;
|
|
5
|
+
}
|
|
6
|
+
export declare function runAdd(componentName: string, options?: AddOptions, cwd?: string): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,wBAAsB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,EAAE,GAAG,GAAE,MAAsB,iBAgDxG"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.runAdd = runAdd;
|
|
40
|
+
const p = __importStar(require("@clack/prompts"));
|
|
41
|
+
const fs = __importStar(require("fs-extra"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
const detect_1 = require("../frameworks/detect");
|
|
45
|
+
const registry_1 = require("../components/registry");
|
|
46
|
+
async function runAdd(componentName, options = {}, cwd = process.cwd()) {
|
|
47
|
+
const component = (0, registry_1.getComponent)(componentName);
|
|
48
|
+
if (!component) {
|
|
49
|
+
const available = (0, registry_1.listComponents)();
|
|
50
|
+
p.log.error(`Unknown component: ${picocolors_1.default.red(componentName)}\n\nAvailable components:\n ${available.join(', ')}`);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
// Resolve framework
|
|
54
|
+
let framework = options.framework ?? 'vanilla';
|
|
55
|
+
if (!options.framework) {
|
|
56
|
+
const detected = await (0, detect_1.detectFramework)(cwd);
|
|
57
|
+
if (detected) {
|
|
58
|
+
framework = detected;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const fw = await p.select({
|
|
62
|
+
message: 'Select your framework:',
|
|
63
|
+
options: [
|
|
64
|
+
{ value: 'react', label: 'React' },
|
|
65
|
+
{ value: 'vue', label: 'Vue' },
|
|
66
|
+
{ value: 'angular', label: 'Angular' },
|
|
67
|
+
{ value: 'vanilla', label: 'Vanilla HTML' },
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
if (p.isCancel(fw)) {
|
|
71
|
+
p.cancel('Cancelled.');
|
|
72
|
+
process.exit(0);
|
|
73
|
+
}
|
|
74
|
+
framework = fw;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const output = buildOutput(component.name, component.tag, component.cssTokens, component.usageByFramework[framework], framework);
|
|
78
|
+
if (options.output) {
|
|
79
|
+
const outPath = path.resolve(cwd, options.output);
|
|
80
|
+
await fs.ensureFile(outPath);
|
|
81
|
+
await fs.writeFile(outPath, output);
|
|
82
|
+
p.log.success(`Wrote snippet to ${options.output}`);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
console.log(output);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function buildOutput(name, tag, cssTokens, usage, framework) {
|
|
89
|
+
const fw = (0, detect_1.frameworkLabel)(framework);
|
|
90
|
+
const separator = '─'.repeat(60);
|
|
91
|
+
const cssOverride = `${tag} {\n${cssTokens.map(t => ` ${t}: /* your value */;`).join('\n')}\n}`;
|
|
92
|
+
return [
|
|
93
|
+
'',
|
|
94
|
+
picocolors_1.default.bold(picocolors_1.default.cyan(`◆ ${name} component`)) + picocolors_1.default.dim(` (${tag})`),
|
|
95
|
+
picocolors_1.default.dim(` Framework: ${fw}`),
|
|
96
|
+
'',
|
|
97
|
+
picocolors_1.default.bold('1. Import'),
|
|
98
|
+
picocolors_1.default.dim(separator),
|
|
99
|
+
usage.split('\n\n')[0],
|
|
100
|
+
'',
|
|
101
|
+
picocolors_1.default.bold('2. CSS tokens you can override'),
|
|
102
|
+
picocolors_1.default.dim(separator),
|
|
103
|
+
cssOverride,
|
|
104
|
+
'',
|
|
105
|
+
picocolors_1.default.bold('3. Usage example'),
|
|
106
|
+
picocolors_1.default.dim(separator),
|
|
107
|
+
usage.split('\n\n').slice(1).join('\n\n'),
|
|
108
|
+
'',
|
|
109
|
+
].join('\n');
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqBA,wBAAsB,OAAO,CAAC,GAAG,GAAE,MAAsB,iBA0HxD"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.runInit = runInit;
|
|
40
|
+
const p = __importStar(require("@clack/prompts"));
|
|
41
|
+
const fs = __importStar(require("fs-extra"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const picocolors_1 = __importDefault(require("picocolors"));
|
|
44
|
+
const detect_1 = require("../frameworks/detect");
|
|
45
|
+
const react_1 = require("../frameworks/react");
|
|
46
|
+
const vue_1 = require("../frameworks/vue");
|
|
47
|
+
const angular_1 = require("../frameworks/angular");
|
|
48
|
+
const vanilla_1 = require("../frameworks/vanilla");
|
|
49
|
+
const index_1 = require("../themes/index");
|
|
50
|
+
const css_1 = require("../utils/css");
|
|
51
|
+
const RADIUS_LABELS = {
|
|
52
|
+
none: 'None — sharp corners',
|
|
53
|
+
default: 'Default — subtle rounding (0.375rem)',
|
|
54
|
+
rounded: 'Rounded — soft corners (0.5rem)',
|
|
55
|
+
pill: 'Pill — fully rounded buttons',
|
|
56
|
+
};
|
|
57
|
+
async function runInit(cwd = process.cwd()) {
|
|
58
|
+
p.intro(picocolors_1.default.bgCyan(picocolors_1.default.black(' sekiui init ')));
|
|
59
|
+
// 1. Framework detection
|
|
60
|
+
const detected = await (0, detect_1.detectFramework)(cwd);
|
|
61
|
+
let framework;
|
|
62
|
+
if (detected) {
|
|
63
|
+
const confirm = await p.confirm({
|
|
64
|
+
message: `Detected ${picocolors_1.default.cyan((0, detect_1.frameworkLabel)(detected))} project. Use this framework?`,
|
|
65
|
+
initialValue: true,
|
|
66
|
+
});
|
|
67
|
+
if (p.isCancel(confirm)) {
|
|
68
|
+
p.cancel('Setup cancelled.');
|
|
69
|
+
process.exit(0);
|
|
70
|
+
}
|
|
71
|
+
if (confirm) {
|
|
72
|
+
framework = detected;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
framework = await promptFramework();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
framework = await promptFramework();
|
|
80
|
+
}
|
|
81
|
+
// 2. Theme preset
|
|
82
|
+
const themeKey = await p.select({
|
|
83
|
+
message: 'Choose a color theme:',
|
|
84
|
+
options: Object.keys(index_1.THEME_PRESETS).map(key => ({
|
|
85
|
+
value: key,
|
|
86
|
+
label: index_1.THEME_PRESETS[key].name,
|
|
87
|
+
})),
|
|
88
|
+
initialValue: 'neutral',
|
|
89
|
+
});
|
|
90
|
+
if (p.isCancel(themeKey)) {
|
|
91
|
+
p.cancel('Setup cancelled.');
|
|
92
|
+
process.exit(0);
|
|
93
|
+
}
|
|
94
|
+
// 3. Border radius
|
|
95
|
+
const radius = await p.select({
|
|
96
|
+
message: 'Choose a border radius style:',
|
|
97
|
+
options: Object.keys(RADIUS_LABELS).map(r => ({
|
|
98
|
+
value: r,
|
|
99
|
+
label: RADIUS_LABELS[r],
|
|
100
|
+
})),
|
|
101
|
+
initialValue: 'default',
|
|
102
|
+
});
|
|
103
|
+
if (p.isCancel(radius)) {
|
|
104
|
+
p.cancel('Setup cancelled.');
|
|
105
|
+
process.exit(0);
|
|
106
|
+
}
|
|
107
|
+
// 4. CSS file path
|
|
108
|
+
const defaultCssPath = framework === 'vanilla' ? 'index.css' : 'src/index.css';
|
|
109
|
+
const cssPath = await p.text({
|
|
110
|
+
message: 'Global CSS file path:',
|
|
111
|
+
placeholder: defaultCssPath,
|
|
112
|
+
defaultValue: defaultCssPath,
|
|
113
|
+
});
|
|
114
|
+
if (p.isCancel(cssPath)) {
|
|
115
|
+
p.cancel('Setup cancelled.');
|
|
116
|
+
process.exit(0);
|
|
117
|
+
}
|
|
118
|
+
// Execute setup
|
|
119
|
+
const spinner = p.spinner();
|
|
120
|
+
spinner.start('Setting up SekiUI...');
|
|
121
|
+
const steps = [];
|
|
122
|
+
try {
|
|
123
|
+
// Step 1: Install @sekiui/elements
|
|
124
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
125
|
+
if (await fs.pathExists(pkgPath)) {
|
|
126
|
+
const pkg = await fs.readJson(pkgPath);
|
|
127
|
+
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
128
|
+
if (!allDeps['@sekiui/elements']) {
|
|
129
|
+
steps.push('Run: npm install @sekiui/elements');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Step 2: Inject CSS tokens
|
|
133
|
+
const cssFilePath = path.join(cwd, cssPath);
|
|
134
|
+
const tokenBlock = (0, css_1.generateCssTokenBlock)(index_1.THEME_PRESETS[themeKey], radius);
|
|
135
|
+
if (await fs.pathExists(cssFilePath)) {
|
|
136
|
+
const existing = await fs.readFile(cssFilePath, 'utf-8');
|
|
137
|
+
await fs.writeFile(cssFilePath, (0, css_1.injectCssTokens)(existing, tokenBlock));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
await fs.ensureFile(cssFilePath);
|
|
141
|
+
await fs.writeFile(cssFilePath, tokenBlock);
|
|
142
|
+
}
|
|
143
|
+
steps.push(`Wrote CSS tokens → ${cssPath}`);
|
|
144
|
+
// Step 3: Framework wiring
|
|
145
|
+
await applyFrameworkWiring(framework, cwd, steps);
|
|
146
|
+
// Step 4: Sample component
|
|
147
|
+
await writeSampleComponent(framework, cwd, steps);
|
|
148
|
+
spinner.stop('Setup complete!');
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
spinner.stop('Setup failed.');
|
|
152
|
+
p.log.error(`Error: ${err.message}`);
|
|
153
|
+
process.exit(1);
|
|
154
|
+
}
|
|
155
|
+
// Summary
|
|
156
|
+
p.log.success('SekiUI is ready!');
|
|
157
|
+
p.note(steps.join('\n'), 'What was done');
|
|
158
|
+
if (steps.some(s => s.startsWith('Run:'))) {
|
|
159
|
+
p.log.warn('Install @sekiui/elements first:\n npm install @sekiui/elements');
|
|
160
|
+
}
|
|
161
|
+
p.outro(`${picocolors_1.default.green('Done!')} Start building with ${picocolors_1.default.cyan('seki-button')}, ${picocolors_1.default.cyan('seki-input')}, and ${picocolors_1.default.cyan('67')} more components.`);
|
|
162
|
+
}
|
|
163
|
+
async function promptFramework() {
|
|
164
|
+
const fw = await p.select({
|
|
165
|
+
message: 'Select your framework:',
|
|
166
|
+
options: [
|
|
167
|
+
{ value: 'react', label: 'React' },
|
|
168
|
+
{ value: 'vue', label: 'Vue' },
|
|
169
|
+
{ value: 'angular', label: 'Angular' },
|
|
170
|
+
{ value: 'vanilla', label: 'Vanilla HTML' },
|
|
171
|
+
],
|
|
172
|
+
});
|
|
173
|
+
if (p.isCancel(fw)) {
|
|
174
|
+
p.cancel('Setup cancelled.');
|
|
175
|
+
process.exit(0);
|
|
176
|
+
}
|
|
177
|
+
return fw;
|
|
178
|
+
}
|
|
179
|
+
async function applyFrameworkWiring(fw, cwd, steps) {
|
|
180
|
+
if (fw === 'react') {
|
|
181
|
+
const candidates = ['src/main.tsx', 'src/main.ts', 'src/index.tsx', 'src/index.ts'];
|
|
182
|
+
for (const candidate of candidates) {
|
|
183
|
+
const fullPath = path.join(cwd, candidate);
|
|
184
|
+
if (await fs.pathExists(fullPath)) {
|
|
185
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
186
|
+
await fs.writeFile(fullPath, (0, react_1.getReactMainPatch)(content));
|
|
187
|
+
steps.push(`Patched ${candidate} with defineCustomElements()`);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
steps.push('Could not find src/main.tsx — add defineCustomElements() manually');
|
|
192
|
+
}
|
|
193
|
+
if (fw === 'vue') {
|
|
194
|
+
const candidates = ['src/main.ts', 'src/main.js'];
|
|
195
|
+
for (const candidate of candidates) {
|
|
196
|
+
const fullPath = path.join(cwd, candidate);
|
|
197
|
+
if (await fs.pathExists(fullPath)) {
|
|
198
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
199
|
+
await fs.writeFile(fullPath, (0, vue_1.getVueMainPatch)(content));
|
|
200
|
+
steps.push(`Patched ${candidate} with defineCustomElements()`);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
steps.push('Could not find src/main.ts — add defineCustomElements() manually');
|
|
205
|
+
}
|
|
206
|
+
if (fw === 'angular') {
|
|
207
|
+
const candidates = ['src/app/app.module.ts', 'src/app.module.ts'];
|
|
208
|
+
for (const candidate of candidates) {
|
|
209
|
+
const fullPath = path.join(cwd, candidate);
|
|
210
|
+
if (await fs.pathExists(fullPath)) {
|
|
211
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
212
|
+
await fs.writeFile(fullPath, (0, angular_1.getAngularModulePatch)(content));
|
|
213
|
+
steps.push(`Patched ${candidate} with CUSTOM_ELEMENTS_SCHEMA`);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
steps.push('Could not find app.module.ts — add CUSTOM_ELEMENTS_SCHEMA manually');
|
|
218
|
+
}
|
|
219
|
+
if (fw === 'vanilla') {
|
|
220
|
+
steps.push(`Add to your HTML <head>:\n <script type="module" src="https://unpkg.com/@sekiui/elements@latest/dist/sekiui/sekiui.esm.js"></script>`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
async function writeSampleComponent(fw, cwd, steps) {
|
|
224
|
+
const fileMap = {
|
|
225
|
+
react: 'src/components/SekiExample.tsx',
|
|
226
|
+
vue: 'src/components/SekiExample.vue',
|
|
227
|
+
angular: 'src/components/SekiExample.html',
|
|
228
|
+
vanilla: 'seki-example.html',
|
|
229
|
+
};
|
|
230
|
+
const contentMap = {
|
|
231
|
+
react: (0, react_1.getReactSampleComponent)(),
|
|
232
|
+
vue: (0, vue_1.getVueSampleComponent)(),
|
|
233
|
+
angular: (0, angular_1.getAngularSampleComponent)(),
|
|
234
|
+
vanilla: (0, vanilla_1.getVanillaSampleHtml)(),
|
|
235
|
+
};
|
|
236
|
+
const filePath = path.join(cwd, fileMap[fw]);
|
|
237
|
+
await fs.ensureFile(filePath);
|
|
238
|
+
await fs.writeFile(filePath, contentMap[fw]);
|
|
239
|
+
steps.push(`Created sample → ${fileMap[fw]}`);
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Framework } from '../frameworks/detect';
|
|
2
|
+
export interface ComponentEntry {
|
|
3
|
+
name: string;
|
|
4
|
+
tag: string;
|
|
5
|
+
description: string;
|
|
6
|
+
cssTokens: string[];
|
|
7
|
+
usageByFramework: Record<Framework, string>;
|
|
8
|
+
}
|
|
9
|
+
export declare const COMPONENT_REGISTRY: Record<string, ComponentEntry>;
|
|
10
|
+
export declare function getComponent(name: string): ComponentEntry | undefined;
|
|
11
|
+
export declare function listComponents(): string[];
|
|
12
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/components/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC7C;AASD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsmB7D,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErE;AAED,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC"}
|