create-fhevm-example 1.0.2 → 1.0.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 +4 -3
- package/dist/index.d.ts +14 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +195 -113
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +0 -8
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -122
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,9 +13,10 @@ npx create-fhevm-example
|
|
|
13
13
|
This will launch an interactive CLI that guides you through:
|
|
14
14
|
|
|
15
15
|
1. Choosing between a single example or category project
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4.
|
|
16
|
+
2. **For single examples**: First selecting a category, then choosing an example from that category
|
|
17
|
+
3. **For category projects**: Selecting the category directly
|
|
18
|
+
4. Setting the project name and output directory
|
|
19
|
+
5. Optionally installing dependencies and running tests
|
|
19
20
|
|
|
20
21
|
### Direct Mode
|
|
21
22
|
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
* create-fhevm-example - CLI for creating FHEVM example projects
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx create-fhevm-example
|
|
7
|
-
* npx create-fhevm-example --example
|
|
8
|
-
* npx create-fhevm-example --category
|
|
6
|
+
* npx create-fhevm-example # Interactive mode
|
|
7
|
+
* npx create-fhevm-example --example <name> # Create single example
|
|
8
|
+
* npx create-fhevm-example --category <name> # Create category project
|
|
9
|
+
*
|
|
10
|
+
* FILE STRUCTURE:
|
|
11
|
+
* ================
|
|
12
|
+
* 1. IMPORTS
|
|
13
|
+
* 2. CONSTANTS - Category icons, order, etc.
|
|
14
|
+
* 3. PROJECT BUILDERS - createSingleExample, createCategoryProject
|
|
15
|
+
* 4. PROMPT HELPERS - Category/example selection prompts
|
|
16
|
+
* 5. INSTALL & TEST - Build and test utilities
|
|
17
|
+
* 6. INTERACTIVE MODE - Main interactive flow
|
|
18
|
+
* 7. DIRECT MODE - CLI argument handling
|
|
19
|
+
* 8. MAIN ENTRY POINT
|
|
9
20
|
*/
|
|
10
21
|
export {};
|
|
11
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG"}
|
package/dist/index.js
CHANGED
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
* create-fhevm-example - CLI for creating FHEVM example projects
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx create-fhevm-example
|
|
7
|
-
* npx create-fhevm-example --example
|
|
8
|
-
* npx create-fhevm-example --category
|
|
6
|
+
* npx create-fhevm-example # Interactive mode
|
|
7
|
+
* npx create-fhevm-example --example <name> # Create single example
|
|
8
|
+
* npx create-fhevm-example --category <name> # Create category project
|
|
9
|
+
*
|
|
10
|
+
* FILE STRUCTURE:
|
|
11
|
+
* ================
|
|
12
|
+
* 1. IMPORTS
|
|
13
|
+
* 2. CONSTANTS - Category icons, order, etc.
|
|
14
|
+
* 3. PROJECT BUILDERS - createSingleExample, createCategoryProject
|
|
15
|
+
* 4. PROMPT HELPERS - Category/example selection prompts
|
|
16
|
+
* 5. INSTALL & TEST - Build and test utilities
|
|
17
|
+
* 6. INTERACTIVE MODE - Main interactive flow
|
|
18
|
+
* 7. DIRECT MODE - CLI argument handling
|
|
19
|
+
* 8. MAIN ENTRY POINT
|
|
9
20
|
*/
|
|
10
21
|
import * as p from "@clack/prompts";
|
|
11
22
|
import pc from "picocolors";
|
|
@@ -13,125 +24,226 @@ import * as fs from "fs";
|
|
|
13
24
|
import * as path from "path";
|
|
14
25
|
import * as os from "os";
|
|
15
26
|
import { EXAMPLES, CATEGORIES } from "./config.js";
|
|
16
|
-
import { cloneTemplate, initSubmodule, copyDirectoryRecursive, getContractName, downloadFileFromGitHub, runCommand, extractTestResults,
|
|
27
|
+
import { cloneTemplate, initSubmodule, copyDirectoryRecursive, getContractName, downloadFileFromGitHub, runCommand, extractTestResults, generateDeployScript, } from "./utils.js";
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// CONSTANTS
|
|
30
|
+
// =============================================================================
|
|
31
|
+
/**
|
|
32
|
+
* Icons for each example category (used in interactive prompts)
|
|
33
|
+
* Keys match the "category" field in EXAMPLES config
|
|
34
|
+
*/
|
|
35
|
+
const EXAMPLE_CATEGORY_ICONS = {
|
|
36
|
+
Basic: "📚",
|
|
37
|
+
"Basic - Encryption": "🔐",
|
|
38
|
+
"Basic - Decryption": "🔓",
|
|
39
|
+
"FHE Operations": "🔢",
|
|
40
|
+
Concepts: "💡",
|
|
41
|
+
OpenZeppelin: "🛡️",
|
|
42
|
+
Advanced: "🚀",
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Icons for each category project (used in category selection)
|
|
46
|
+
* Keys match the keys in CATEGORIES config
|
|
47
|
+
*/
|
|
48
|
+
const CATEGORY_PROJECT_ICONS = {
|
|
49
|
+
basic: "📚",
|
|
50
|
+
concepts: "💡",
|
|
51
|
+
operations: "🔢",
|
|
52
|
+
openzeppelin: "🛡️",
|
|
53
|
+
advanced: "🚀",
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Display order for example categories in the interactive prompt
|
|
57
|
+
*/
|
|
58
|
+
const CATEGORY_ORDER = [
|
|
59
|
+
"Basic",
|
|
60
|
+
"Basic - Encryption",
|
|
61
|
+
"Basic - Decryption",
|
|
62
|
+
"FHE Operations",
|
|
63
|
+
"Concepts",
|
|
64
|
+
"OpenZeppelin",
|
|
65
|
+
"Advanced",
|
|
66
|
+
];
|
|
17
67
|
// =============================================================================
|
|
18
|
-
//
|
|
68
|
+
// PROJECT BUILDERS
|
|
19
69
|
// =============================================================================
|
|
70
|
+
/**
|
|
71
|
+
* Creates a single example project from the template
|
|
72
|
+
*
|
|
73
|
+
* Steps:
|
|
74
|
+
* 1. Copy template directory
|
|
75
|
+
* 2. Download contract and test files from GitHub
|
|
76
|
+
* 3. Update package.json and deploy scripts
|
|
77
|
+
* 4. Clean up template-specific files
|
|
78
|
+
*/
|
|
20
79
|
async function createSingleExample(exampleName, outputDir, tempRepoPath) {
|
|
21
80
|
const example = EXAMPLES[exampleName];
|
|
22
81
|
if (!example) {
|
|
23
82
|
throw new Error(`Unknown example: ${exampleName}`);
|
|
24
83
|
}
|
|
25
84
|
const templateDir = path.join(tempRepoPath, "fhevm-hardhat-template");
|
|
26
|
-
// Copy template
|
|
27
|
-
copyDirectoryRecursive(templateDir, outputDir);
|
|
28
|
-
// Get contract name
|
|
29
85
|
const contractName = getContractName(example.contract);
|
|
30
86
|
if (!contractName) {
|
|
31
87
|
throw new Error("Could not extract contract name");
|
|
32
88
|
}
|
|
33
|
-
//
|
|
89
|
+
// Step 1: Copy template
|
|
90
|
+
copyDirectoryRecursive(templateDir, outputDir);
|
|
91
|
+
// Step 2: Remove template contract and download example contract
|
|
34
92
|
const templateContract = path.join(outputDir, "contracts", "FHECounter.sol");
|
|
35
93
|
if (fs.existsSync(templateContract)) {
|
|
36
94
|
fs.unlinkSync(templateContract);
|
|
37
95
|
}
|
|
38
|
-
// Download contract and test from GitHub
|
|
39
96
|
await downloadFileFromGitHub(example.contract, path.join(outputDir, "contracts", `${contractName}.sol`));
|
|
40
|
-
//
|
|
97
|
+
// Step 3: Clean up and download test file
|
|
41
98
|
const contractsGitkeep = path.join(outputDir, "contracts", ".gitkeep");
|
|
42
99
|
if (fs.existsSync(contractsGitkeep)) {
|
|
43
100
|
fs.unlinkSync(contractsGitkeep);
|
|
44
101
|
}
|
|
45
|
-
// Clear test directory
|
|
46
102
|
const testDir = path.join(outputDir, "test");
|
|
47
103
|
fs.readdirSync(testDir).forEach((file) => {
|
|
48
104
|
if (file.endsWith(".ts") || file === ".gitkeep") {
|
|
49
105
|
fs.unlinkSync(path.join(testDir, file));
|
|
50
106
|
}
|
|
51
107
|
});
|
|
52
|
-
// Download test file
|
|
53
108
|
await downloadFileFromGitHub(example.test, path.join(outputDir, "test", path.basename(example.test)));
|
|
54
|
-
// Update
|
|
109
|
+
// Step 4: Update configuration files
|
|
55
110
|
fs.writeFileSync(path.join(outputDir, "deploy", "deploy.ts"), generateDeployScript(contractName));
|
|
56
|
-
// Update package.json
|
|
57
111
|
const packageJsonPath = path.join(outputDir, "package.json");
|
|
58
112
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
59
113
|
packageJson.name = `fhevm-example-${exampleName}`;
|
|
60
114
|
packageJson.description = example.description;
|
|
61
115
|
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
62
|
-
//
|
|
116
|
+
// Step 5: Remove template-specific task
|
|
63
117
|
const configPath = path.join(outputDir, "hardhat.config.ts");
|
|
64
118
|
let configContent = fs.readFileSync(configPath, "utf-8");
|
|
65
119
|
configContent = configContent.replace(/import "\.\/tasks\/FHECounter";\n?/g, "");
|
|
66
120
|
fs.writeFileSync(configPath, configContent);
|
|
67
|
-
// Remove FHECounter task
|
|
68
121
|
const oldTaskFile = path.join(outputDir, "tasks", "FHECounter.ts");
|
|
69
122
|
if (fs.existsSync(oldTaskFile)) {
|
|
70
123
|
fs.unlinkSync(oldTaskFile);
|
|
71
124
|
}
|
|
72
|
-
// Generate README
|
|
73
|
-
fs.writeFileSync(path.join(outputDir, "README.md"), generateExampleReadme(exampleName, example.description, contractName));
|
|
74
125
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Creates a category project with multiple examples
|
|
128
|
+
*
|
|
129
|
+
* Steps:
|
|
130
|
+
* 1. Copy template directory
|
|
131
|
+
* 2. Download all contracts and tests for the category
|
|
132
|
+
* 3. Update package.json
|
|
133
|
+
* 4. Clean up template-specific files
|
|
134
|
+
*/
|
|
78
135
|
async function createCategoryProject(categoryName, outputDir, tempRepoPath) {
|
|
79
136
|
const category = CATEGORIES[categoryName];
|
|
80
137
|
if (!category) {
|
|
81
138
|
throw new Error(`Unknown category: ${categoryName}`);
|
|
82
139
|
}
|
|
83
140
|
const templateDir = path.join(tempRepoPath, "fhevm-hardhat-template");
|
|
84
|
-
// Copy template
|
|
141
|
+
// Step 1: Copy template
|
|
85
142
|
copyDirectoryRecursive(templateDir, outputDir);
|
|
86
|
-
// Clear template files
|
|
143
|
+
// Step 2: Clear template files
|
|
87
144
|
const templateContract = path.join(outputDir, "contracts", "FHECounter.sol");
|
|
88
145
|
if (fs.existsSync(templateContract))
|
|
89
146
|
fs.unlinkSync(templateContract);
|
|
90
|
-
// Remove .gitkeep from contracts
|
|
91
147
|
const contractsGitkeep = path.join(outputDir, "contracts", ".gitkeep");
|
|
92
148
|
if (fs.existsSync(contractsGitkeep))
|
|
93
149
|
fs.unlinkSync(contractsGitkeep);
|
|
94
|
-
// Clear test directory
|
|
95
150
|
const testDir = path.join(outputDir, "test");
|
|
96
151
|
fs.readdirSync(testDir).forEach((file) => {
|
|
97
152
|
if (file.endsWith(".ts") || file === ".gitkeep") {
|
|
98
153
|
fs.unlinkSync(path.join(testDir, file));
|
|
99
154
|
}
|
|
100
155
|
});
|
|
101
|
-
// Download contracts and tests
|
|
102
|
-
const contractNames = [];
|
|
156
|
+
// Step 3: Download all contracts and tests
|
|
103
157
|
for (const item of category.contracts) {
|
|
104
158
|
const contractName = getContractName(item.sol);
|
|
105
159
|
if (contractName) {
|
|
106
|
-
contractNames.push(contractName);
|
|
107
160
|
await downloadFileFromGitHub(item.sol, path.join(outputDir, "contracts", `${contractName}.sol`));
|
|
108
161
|
}
|
|
109
162
|
if (item.test) {
|
|
110
163
|
await downloadFileFromGitHub(item.test, path.join(outputDir, "test", path.basename(item.test)));
|
|
111
164
|
}
|
|
112
165
|
}
|
|
113
|
-
//
|
|
166
|
+
// Step 4: Update configuration files
|
|
114
167
|
const configPath = path.join(outputDir, "hardhat.config.ts");
|
|
115
168
|
let configContent = fs.readFileSync(configPath, "utf-8");
|
|
116
169
|
configContent = configContent.replace(/import "\.\/tasks\/FHECounter";\n?/g, "");
|
|
117
170
|
fs.writeFileSync(configPath, configContent);
|
|
118
|
-
// Remove FHECounter task
|
|
119
171
|
const oldTaskFile = path.join(outputDir, "tasks", "FHECounter.ts");
|
|
120
172
|
if (fs.existsSync(oldTaskFile)) {
|
|
121
173
|
fs.unlinkSync(oldTaskFile);
|
|
122
174
|
}
|
|
123
|
-
// Update package.json
|
|
124
175
|
const packageJsonPath = path.join(outputDir, "package.json");
|
|
125
176
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
126
177
|
packageJson.name = `fhevm-examples-${categoryName}`;
|
|
127
178
|
packageJson.description = category.description;
|
|
128
179
|
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
129
|
-
// Generate README
|
|
130
|
-
fs.writeFileSync(path.join(outputDir, "README.md"), generateCategoryReadme(category.name, category.description, contractNames));
|
|
131
180
|
}
|
|
132
181
|
// =============================================================================
|
|
133
|
-
//
|
|
182
|
+
// PROMPT HELPERS
|
|
134
183
|
// =============================================================================
|
|
184
|
+
/**
|
|
185
|
+
* Counts how many examples exist in each category
|
|
186
|
+
*/
|
|
187
|
+
function countExamplesPerCategory() {
|
|
188
|
+
const counts = {};
|
|
189
|
+
for (const config of Object.values(EXAMPLES)) {
|
|
190
|
+
counts[config.category] = (counts[config.category] || 0) + 1;
|
|
191
|
+
}
|
|
192
|
+
return counts;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Prompts user to select a category
|
|
196
|
+
* Returns the selected category name
|
|
197
|
+
*/
|
|
198
|
+
async function promptSelectCategory() {
|
|
199
|
+
const categoryCounts = countExamplesPerCategory();
|
|
200
|
+
return p.select({
|
|
201
|
+
message: "Select a category:",
|
|
202
|
+
options: CATEGORY_ORDER.map((category) => ({
|
|
203
|
+
value: category,
|
|
204
|
+
label: `${EXAMPLE_CATEGORY_ICONS[category] || "📁"} ${category}`,
|
|
205
|
+
hint: `${categoryCounts[category] || 0} example${categoryCounts[category] !== 1 ? "s" : ""}`,
|
|
206
|
+
})),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Prompts user to select an example from a specific category
|
|
211
|
+
* Returns the selected example name
|
|
212
|
+
*/
|
|
213
|
+
async function promptSelectExampleFromCategory(category) {
|
|
214
|
+
const categoryExamples = Object.entries(EXAMPLES)
|
|
215
|
+
.filter(([, config]) => config.category === category)
|
|
216
|
+
.map(([key, config]) => ({
|
|
217
|
+
value: key,
|
|
218
|
+
label: key,
|
|
219
|
+
hint: config.description.slice(0, 80) +
|
|
220
|
+
(config.description.length > 80 ? "..." : ""),
|
|
221
|
+
}));
|
|
222
|
+
return p.select({
|
|
223
|
+
message: `Select an example from ${category}:`,
|
|
224
|
+
options: categoryExamples,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Prompts user to select a category project
|
|
229
|
+
* Returns the selected category key (lowercase)
|
|
230
|
+
*/
|
|
231
|
+
async function promptSelectCategoryProject() {
|
|
232
|
+
return p.select({
|
|
233
|
+
message: "Select a category:",
|
|
234
|
+
options: Object.entries(CATEGORIES).map(([key, config]) => ({
|
|
235
|
+
value: key,
|
|
236
|
+
label: `${CATEGORY_PROJECT_ICONS[key] || "📁"} ${config.name}`,
|
|
237
|
+
hint: `${config.contracts.length} contracts`,
|
|
238
|
+
})),
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
// =============================================================================
|
|
242
|
+
// INSTALL & TEST
|
|
243
|
+
// =============================================================================
|
|
244
|
+
/**
|
|
245
|
+
* Runs npm install, compile, and test in the project directory
|
|
246
|
+
*/
|
|
135
247
|
async function runInstallAndTest(projectPath) {
|
|
136
248
|
const steps = [
|
|
137
249
|
{
|
|
@@ -160,12 +272,9 @@ async function runInstallAndTest(projectPath) {
|
|
|
160
272
|
const output = await runCommand(step.cmd, step.args, projectPath);
|
|
161
273
|
if (step.showOutput) {
|
|
162
274
|
const testResults = extractTestResults(output);
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
else {
|
|
167
|
-
s.stop(pc.green(`✓ ${step.name} completed`));
|
|
168
|
-
}
|
|
275
|
+
s.stop(testResults
|
|
276
|
+
? pc.green(`✓ ${step.name} - ${testResults}`)
|
|
277
|
+
: pc.green(`✓ ${step.name} completed`));
|
|
169
278
|
}
|
|
170
279
|
else {
|
|
171
280
|
s.stop(pc.green(`✓ ${step.name} completed`));
|
|
@@ -181,9 +290,15 @@ async function runInstallAndTest(projectPath) {
|
|
|
181
290
|
}
|
|
182
291
|
p.log.success(pc.green("All steps completed successfully!"));
|
|
183
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Shows quick start commands for the created project
|
|
295
|
+
*/
|
|
184
296
|
function showQuickStart(relativePath) {
|
|
185
297
|
p.note(`${pc.dim("$")} cd ${relativePath}\n${pc.dim("$")} npm install\n${pc.dim("$")} npm run compile\n${pc.dim("$")} npm run test`, "🚀 Quick Start");
|
|
186
298
|
}
|
|
299
|
+
/**
|
|
300
|
+
* Asks user if they want to install and test, then runs or shows quick start
|
|
301
|
+
*/
|
|
187
302
|
async function askInstallAndTest(resolvedOutput, relativePath) {
|
|
188
303
|
const shouldInstall = await p.confirm({
|
|
189
304
|
message: "Install dependencies and run tests?",
|
|
@@ -202,11 +317,16 @@ async function askInstallAndTest(resolvedOutput, relativePath) {
|
|
|
202
317
|
}
|
|
203
318
|
}
|
|
204
319
|
// =============================================================================
|
|
205
|
-
//
|
|
320
|
+
// INTERACTIVE MODE
|
|
206
321
|
// =============================================================================
|
|
322
|
+
/**
|
|
323
|
+
* Main interactive mode flow
|
|
324
|
+
* Guides user through project creation with prompts
|
|
325
|
+
*/
|
|
207
326
|
async function runInteractiveMode() {
|
|
208
327
|
console.clear();
|
|
209
328
|
p.intro(pc.bgCyan(pc.black(" 🔐 Create FHEVM Example ")));
|
|
329
|
+
// Step 1: Choose mode (single example or category)
|
|
210
330
|
const mode = await p.select({
|
|
211
331
|
message: "What would you like to create?",
|
|
212
332
|
options: [
|
|
@@ -229,51 +349,15 @@ async function runInteractiveMode() {
|
|
|
229
349
|
let exampleName = "";
|
|
230
350
|
let categoryName = "";
|
|
231
351
|
let projectName = "";
|
|
352
|
+
// Step 2: Select based on mode
|
|
232
353
|
if (mode === "single") {
|
|
233
|
-
//
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
"
|
|
237
|
-
|
|
238
|
-
"FHE Operations": "🔢",
|
|
239
|
-
Concepts: "💡",
|
|
240
|
-
OpenZeppelin: "🛡️",
|
|
241
|
-
Advanced: "🚀",
|
|
242
|
-
};
|
|
243
|
-
// Group examples by category
|
|
244
|
-
const grouped = {};
|
|
245
|
-
for (const [key, config] of Object.entries(EXAMPLES)) {
|
|
246
|
-
if (!grouped[config.category]) {
|
|
247
|
-
grouped[config.category] = [];
|
|
248
|
-
}
|
|
249
|
-
const icon = categoryIcons[config.category] || "📁";
|
|
250
|
-
grouped[config.category].push({
|
|
251
|
-
value: key,
|
|
252
|
-
label: `${icon} ${key}`,
|
|
253
|
-
hint: config.description.slice(0, 60) +
|
|
254
|
-
(config.description.length > 60 ? "..." : ""),
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
// Build options with category order
|
|
258
|
-
const options = [];
|
|
259
|
-
const categoryOrder = [
|
|
260
|
-
"Basic",
|
|
261
|
-
"Basic - Encryption",
|
|
262
|
-
"Basic - Decryption",
|
|
263
|
-
"FHE Operations",
|
|
264
|
-
"Concepts",
|
|
265
|
-
"OpenZeppelin",
|
|
266
|
-
"Advanced",
|
|
267
|
-
];
|
|
268
|
-
for (const category of categoryOrder) {
|
|
269
|
-
if (grouped[category]) {
|
|
270
|
-
options.push(...grouped[category]);
|
|
271
|
-
}
|
|
354
|
+
// Single example: first select category, then example
|
|
355
|
+
const selectedCategory = await promptSelectCategory();
|
|
356
|
+
if (p.isCancel(selectedCategory)) {
|
|
357
|
+
p.cancel("Operation cancelled.");
|
|
358
|
+
process.exit(0);
|
|
272
359
|
}
|
|
273
|
-
exampleName = await
|
|
274
|
-
message: "Select an example:",
|
|
275
|
-
options,
|
|
276
|
-
});
|
|
360
|
+
exampleName = await promptSelectExampleFromCategory(selectedCategory);
|
|
277
361
|
if (p.isCancel(exampleName)) {
|
|
278
362
|
p.cancel("Operation cancelled.");
|
|
279
363
|
process.exit(0);
|
|
@@ -285,22 +369,8 @@ async function runInteractiveMode() {
|
|
|
285
369
|
});
|
|
286
370
|
}
|
|
287
371
|
else {
|
|
288
|
-
// Category
|
|
289
|
-
|
|
290
|
-
basic: "📚",
|
|
291
|
-
concepts: "💡",
|
|
292
|
-
operations: "🔢",
|
|
293
|
-
openzeppelin: "🛡️",
|
|
294
|
-
advanced: "🚀",
|
|
295
|
-
};
|
|
296
|
-
categoryName = await p.select({
|
|
297
|
-
message: "Select a category:",
|
|
298
|
-
options: Object.entries(CATEGORIES).map(([key, config]) => ({
|
|
299
|
-
value: key,
|
|
300
|
-
label: `${categoryIcons[key] || "📁"} ${config.name}`,
|
|
301
|
-
hint: `${config.contracts.length} contracts`,
|
|
302
|
-
})),
|
|
303
|
-
});
|
|
372
|
+
// Category project: select category directly
|
|
373
|
+
categoryName = await promptSelectCategoryProject();
|
|
304
374
|
if (p.isCancel(categoryName)) {
|
|
305
375
|
p.cancel("Operation cancelled.");
|
|
306
376
|
process.exit(0);
|
|
@@ -315,6 +385,7 @@ async function runInteractiveMode() {
|
|
|
315
385
|
p.cancel("Operation cancelled.");
|
|
316
386
|
process.exit(0);
|
|
317
387
|
}
|
|
388
|
+
// Step 3: Output directory
|
|
318
389
|
const outputDir = await p.text({
|
|
319
390
|
message: "Output directory:",
|
|
320
391
|
placeholder: `./${projectName}`,
|
|
@@ -329,7 +400,7 @@ async function runInteractiveMode() {
|
|
|
329
400
|
p.log.error(`Directory already exists: ${resolvedOutput}`);
|
|
330
401
|
process.exit(1);
|
|
331
402
|
}
|
|
332
|
-
//
|
|
403
|
+
// Step 4: Create project
|
|
333
404
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "fhevm-"));
|
|
334
405
|
const s = p.spinner();
|
|
335
406
|
try {
|
|
@@ -364,7 +435,6 @@ async function runInteractiveMode() {
|
|
|
364
435
|
process.exit(1);
|
|
365
436
|
}
|
|
366
437
|
finally {
|
|
367
|
-
// Cleanup temp directory
|
|
368
438
|
if (fs.existsSync(tempDir)) {
|
|
369
439
|
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
370
440
|
}
|
|
@@ -372,8 +442,11 @@ async function runInteractiveMode() {
|
|
|
372
442
|
p.outro(pc.green("🎉 Happy coding with FHEVM!"));
|
|
373
443
|
}
|
|
374
444
|
// =============================================================================
|
|
375
|
-
//
|
|
445
|
+
// DIRECT MODE (CLI Arguments)
|
|
376
446
|
// =============================================================================
|
|
447
|
+
/**
|
|
448
|
+
* Shows help information for CLI usage
|
|
449
|
+
*/
|
|
377
450
|
function showHelp() {
|
|
378
451
|
console.log(`
|
|
379
452
|
${pc.cyan("create-fhevm-example")}
|
|
@@ -403,25 +476,35 @@ ${pc.yellow("Available categories:")}
|
|
|
403
476
|
${Object.keys(CATEGORIES).join(", ")}
|
|
404
477
|
`);
|
|
405
478
|
}
|
|
406
|
-
|
|
407
|
-
|
|
479
|
+
/**
|
|
480
|
+
* Parses CLI arguments into a key-value object
|
|
481
|
+
*/
|
|
482
|
+
function parseArgs(args) {
|
|
483
|
+
const parsed = {};
|
|
408
484
|
for (let i = 0; i < args.length; i++) {
|
|
409
485
|
const arg = args[i];
|
|
410
486
|
if (arg.startsWith("--")) {
|
|
411
487
|
const key = arg.slice(2);
|
|
412
488
|
const nextArg = args[i + 1];
|
|
413
489
|
if (nextArg && !nextArg.startsWith("--")) {
|
|
414
|
-
|
|
490
|
+
parsed[key] = nextArg;
|
|
415
491
|
i++;
|
|
416
492
|
}
|
|
417
493
|
else {
|
|
418
|
-
|
|
494
|
+
parsed[key] = true;
|
|
419
495
|
}
|
|
420
496
|
}
|
|
421
497
|
else if (arg === "-h") {
|
|
422
|
-
|
|
498
|
+
parsed["help"] = true;
|
|
423
499
|
}
|
|
424
500
|
}
|
|
501
|
+
return parsed;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Handles direct mode (CLI with arguments, non-interactive)
|
|
505
|
+
*/
|
|
506
|
+
async function runDirectMode(args) {
|
|
507
|
+
const parsedArgs = parseArgs(args);
|
|
425
508
|
if (parsedArgs["help"]) {
|
|
426
509
|
showHelp();
|
|
427
510
|
return;
|
|
@@ -430,7 +513,7 @@ async function runDirectMode(args) {
|
|
|
430
513
|
const categoryName = parsedArgs["category"];
|
|
431
514
|
const outputDir = parsedArgs["output"];
|
|
432
515
|
const shouldInstall = parsedArgs["install"] === true;
|
|
433
|
-
|
|
516
|
+
// Validation
|
|
434
517
|
if (!exampleName && !categoryName) {
|
|
435
518
|
console.error(pc.red("Error: Either --example or --category is required"));
|
|
436
519
|
showHelp();
|
|
@@ -459,7 +542,7 @@ async function runDirectMode(args) {
|
|
|
459
542
|
console.error(pc.red(`Error: Directory already exists: ${resolved}`));
|
|
460
543
|
process.exit(1);
|
|
461
544
|
}
|
|
462
|
-
//
|
|
545
|
+
// Create project
|
|
463
546
|
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "fhevm-"));
|
|
464
547
|
try {
|
|
465
548
|
console.log(pc.cyan(`Creating ${mode}: ${name}`));
|
|
@@ -488,14 +571,13 @@ async function runDirectMode(args) {
|
|
|
488
571
|
process.exit(1);
|
|
489
572
|
}
|
|
490
573
|
finally {
|
|
491
|
-
// Cleanup temp directory
|
|
492
574
|
if (fs.existsSync(tempDir)) {
|
|
493
575
|
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
494
576
|
}
|
|
495
577
|
}
|
|
496
578
|
}
|
|
497
579
|
// =============================================================================
|
|
498
|
-
//
|
|
580
|
+
// MAIN ENTRY POINT
|
|
499
581
|
// =============================================================================
|
|
500
582
|
async function main() {
|
|
501
583
|
const args = process.argv.slice(2);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -29,14 +29,6 @@ export declare function runCommand(cmd: string, args: string[], cwd: string): Pr
|
|
|
29
29
|
* Extract test results from npm test output
|
|
30
30
|
*/
|
|
31
31
|
export declare function extractTestResults(output: string): string | null;
|
|
32
|
-
/**
|
|
33
|
-
* Generate README for single example project
|
|
34
|
-
*/
|
|
35
|
-
export declare function generateExampleReadme(exampleName: string, description: string, contractName: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Generate README for category project
|
|
38
|
-
*/
|
|
39
|
-
export declare function generateCategoryReadme(categoryName: string, description: string, contractNames: string[]): string;
|
|
40
32
|
/**
|
|
41
33
|
* Generate deploy script
|
|
42
34
|
*/
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAqBtE;AAMD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCpE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BnE;AAMD;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAchE;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAqBtE;AAMD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCpE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BnE;AAMD;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAchE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqBjE"}
|
package/dist/utils.js
CHANGED
|
@@ -170,128 +170,6 @@ export function extractTestResults(output) {
|
|
|
170
170
|
}
|
|
171
171
|
return null;
|
|
172
172
|
}
|
|
173
|
-
// =============================================================================
|
|
174
|
-
// README Generation
|
|
175
|
-
// =============================================================================
|
|
176
|
-
/**
|
|
177
|
-
* Generate README for single example project
|
|
178
|
-
*/
|
|
179
|
-
export function generateExampleReadme(exampleName, description, contractName) {
|
|
180
|
-
return `# ${contractName} - FHEVM Example
|
|
181
|
-
|
|
182
|
-
${description}
|
|
183
|
-
|
|
184
|
-
## Getting Started
|
|
185
|
-
|
|
186
|
-
### Prerequisites
|
|
187
|
-
|
|
188
|
-
- Node.js >= 20
|
|
189
|
-
- npm or yarn
|
|
190
|
-
|
|
191
|
-
### Installation
|
|
192
|
-
|
|
193
|
-
\`\`\`bash
|
|
194
|
-
npm install
|
|
195
|
-
\`\`\`
|
|
196
|
-
|
|
197
|
-
### Compile Contracts
|
|
198
|
-
|
|
199
|
-
\`\`\`bash
|
|
200
|
-
npm run compile
|
|
201
|
-
\`\`\`
|
|
202
|
-
|
|
203
|
-
### Run Tests
|
|
204
|
-
|
|
205
|
-
\`\`\`bash
|
|
206
|
-
npm run test
|
|
207
|
-
\`\`\`
|
|
208
|
-
|
|
209
|
-
### Deploy
|
|
210
|
-
|
|
211
|
-
\`\`\`bash
|
|
212
|
-
npm run deploy
|
|
213
|
-
\`\`\`
|
|
214
|
-
|
|
215
|
-
## Project Structure
|
|
216
|
-
|
|
217
|
-
- \`contracts/\` - Solidity smart contracts
|
|
218
|
-
- \`test/\` - Test files
|
|
219
|
-
- \`deploy/\` - Deployment scripts
|
|
220
|
-
- \`hardhat.config.ts\` - Hardhat configuration
|
|
221
|
-
|
|
222
|
-
## Learn More
|
|
223
|
-
|
|
224
|
-
- [FHEVM Documentation](https://docs.zama.ai/fhevm)
|
|
225
|
-
- [Zama](https://www.zama.ai/)
|
|
226
|
-
- [More Examples](https://github.com/zama-ai/fhevm-examples)
|
|
227
|
-
|
|
228
|
-
## License
|
|
229
|
-
|
|
230
|
-
BSD-3-Clause-Clear
|
|
231
|
-
`;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Generate README for category project
|
|
235
|
-
*/
|
|
236
|
-
export function generateCategoryReadme(categoryName, description, contractNames) {
|
|
237
|
-
const contractList = contractNames.map((name) => `- ${name}`).join("\n");
|
|
238
|
-
return `# ${categoryName} - FHEVM Examples
|
|
239
|
-
|
|
240
|
-
${description}
|
|
241
|
-
|
|
242
|
-
## Included Contracts
|
|
243
|
-
|
|
244
|
-
${contractList}
|
|
245
|
-
|
|
246
|
-
## Getting Started
|
|
247
|
-
|
|
248
|
-
### Prerequisites
|
|
249
|
-
|
|
250
|
-
- Node.js >= 20
|
|
251
|
-
- npm or yarn
|
|
252
|
-
|
|
253
|
-
### Installation
|
|
254
|
-
|
|
255
|
-
\`\`\`bash
|
|
256
|
-
npm install
|
|
257
|
-
\`\`\`
|
|
258
|
-
|
|
259
|
-
### Compile Contracts
|
|
260
|
-
|
|
261
|
-
\`\`\`bash
|
|
262
|
-
npm run compile
|
|
263
|
-
\`\`\`
|
|
264
|
-
|
|
265
|
-
### Run Tests
|
|
266
|
-
|
|
267
|
-
\`\`\`bash
|
|
268
|
-
npm run test
|
|
269
|
-
\`\`\`
|
|
270
|
-
|
|
271
|
-
### Deploy
|
|
272
|
-
|
|
273
|
-
\`\`\`bash
|
|
274
|
-
npm run deploy
|
|
275
|
-
\`\`\`
|
|
276
|
-
|
|
277
|
-
## Project Structure
|
|
278
|
-
|
|
279
|
-
- \`contracts/\` - Solidity smart contracts
|
|
280
|
-
- \`test/\` - Test files
|
|
281
|
-
- \`deploy/\` - Deployment scripts
|
|
282
|
-
- \`hardhat.config.ts\` - Hardhat configuration
|
|
283
|
-
|
|
284
|
-
## Learn More
|
|
285
|
-
|
|
286
|
-
- [FHEVM Documentation](https://docs.zama.ai/fhevm)
|
|
287
|
-
- [Zama](https://www.zama.ai/)
|
|
288
|
-
- [More Examples](https://github.com/zama-ai/fhevm-examples)
|
|
289
|
-
|
|
290
|
-
## License
|
|
291
|
-
|
|
292
|
-
BSD-3-Clause-Clear
|
|
293
|
-
`;
|
|
294
|
-
}
|
|
295
173
|
/**
|
|
296
174
|
* Generate deploy script
|
|
297
175
|
*/
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|