create-fhevm-example 1.2.3 → 1.3.1
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 +72 -146
- package/dist/scripts/add-mode.d.ts +11 -0
- package/dist/scripts/add-mode.d.ts.map +1 -0
- package/dist/{add-mode.js → scripts/add-mode.js} +84 -58
- package/dist/scripts/builders.d.ts +19 -0
- package/dist/scripts/builders.d.ts.map +1 -0
- package/dist/scripts/builders.js +211 -0
- package/dist/{config.d.ts → scripts/config.d.ts} +24 -3
- package/dist/scripts/config.d.ts.map +1 -0
- package/dist/scripts/config.js +465 -0
- package/dist/scripts/doctor.d.ts +11 -0
- package/dist/scripts/doctor.d.ts.map +1 -0
- package/dist/scripts/doctor.js +165 -0
- package/dist/scripts/generate-config.d.ts +9 -0
- package/dist/scripts/generate-config.d.ts.map +1 -0
- package/dist/scripts/generate-config.js +323 -0
- package/dist/scripts/generate-docs.d.ts +10 -0
- package/dist/scripts/generate-docs.d.ts.map +1 -0
- package/dist/scripts/generate-docs.js +190 -0
- package/dist/scripts/index.d.ts +12 -0
- package/dist/scripts/index.d.ts.map +1 -0
- package/dist/scripts/index.js +384 -0
- package/dist/scripts/maintenance.d.ts +13 -0
- package/dist/scripts/maintenance.d.ts.map +1 -0
- package/dist/scripts/maintenance.js +271 -0
- package/dist/{prompts.d.ts → scripts/ui.d.ts} +8 -7
- package/dist/scripts/ui.d.ts.map +1 -0
- package/dist/scripts/ui.js +170 -0
- package/dist/scripts/utils.d.ts +86 -0
- package/dist/scripts/utils.d.ts.map +1 -0
- package/dist/scripts/utils.js +525 -0
- package/package.json +25 -13
- package/dist/add-mode.d.ts +0 -21
- package/dist/add-mode.d.ts.map +0 -1
- package/dist/add-mode.js.map +0 -1
- package/dist/builders.d.ts +0 -30
- package/dist/builders.d.ts.map +0 -1
- package/dist/builders.js +0 -195
- package/dist/builders.js.map +0 -1
- package/dist/commands.d.ts +0 -19
- package/dist/commands.d.ts.map +0 -1
- package/dist/commands.js +0 -91
- package/dist/commands.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -398
- package/dist/config.js.map +0 -1
- package/dist/constants.d.ts +0 -16
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -40
- package/dist/constants.js.map +0 -1
- package/dist/index.d.ts +0 -20
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -337
- package/dist/index.js.map +0 -1
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js +0 -79
- package/dist/prompts.js.map +0 -1
- package/dist/ui.d.ts +0 -35
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js +0 -155
- package/dist/ui.js.map +0 -1
- package/dist/utils.d.ts +0 -99
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -285
- package/dist/utils.js.map +0 -1
package/dist/builders.js
DELETED
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project Builders
|
|
3
|
-
*
|
|
4
|
-
* Creates single example and category projects from templates.
|
|
5
|
-
* Similar to main project's create-example.ts and create-category.ts
|
|
6
|
-
*/
|
|
7
|
-
import * as fs from "fs";
|
|
8
|
-
import * as path from "path";
|
|
9
|
-
import { EXAMPLES, CATEGORIES } from "./config.js";
|
|
10
|
-
import { copyDirectoryRecursive, getContractName, downloadFileFromGitHub, runCommand, generateDeployScript, } from "./utils.js";
|
|
11
|
-
import { TEST_TYPES_CONTENT } from "./utils.js";
|
|
12
|
-
// =============================================================================
|
|
13
|
-
// Template Cleanup
|
|
14
|
-
// =============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Cleans up template-specific files after copying
|
|
17
|
-
* Similar to cleanupTemplate() in main project's shared/utils.ts
|
|
18
|
-
*/
|
|
19
|
-
export function cleanupTemplate(outputDir) {
|
|
20
|
-
// Remove .git directory
|
|
21
|
-
const gitDir = path.join(outputDir, ".git");
|
|
22
|
-
if (fs.existsSync(gitDir)) {
|
|
23
|
-
fs.rmSync(gitDir, { recursive: true, force: true });
|
|
24
|
-
}
|
|
25
|
-
// Remove FHECounter.sol (template example)
|
|
26
|
-
const templateContract = path.join(outputDir, "contracts", "FHECounter.sol");
|
|
27
|
-
if (fs.existsSync(templateContract)) {
|
|
28
|
-
fs.unlinkSync(templateContract);
|
|
29
|
-
}
|
|
30
|
-
// Remove .gitkeep files
|
|
31
|
-
const contractsGitkeep = path.join(outputDir, "contracts", ".gitkeep");
|
|
32
|
-
if (fs.existsSync(contractsGitkeep)) {
|
|
33
|
-
fs.unlinkSync(contractsGitkeep);
|
|
34
|
-
}
|
|
35
|
-
// Clear test directory (remove template tests)
|
|
36
|
-
const testDir = path.join(outputDir, "test");
|
|
37
|
-
if (fs.existsSync(testDir)) {
|
|
38
|
-
fs.readdirSync(testDir).forEach((file) => {
|
|
39
|
-
if (file.endsWith(".ts") || file === ".gitkeep") {
|
|
40
|
-
fs.unlinkSync(path.join(testDir, file));
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
// Remove FHECounter task import from hardhat.config.ts
|
|
45
|
-
const configPath = path.join(outputDir, "hardhat.config.ts");
|
|
46
|
-
if (fs.existsSync(configPath)) {
|
|
47
|
-
let configContent = fs.readFileSync(configPath, "utf-8");
|
|
48
|
-
configContent = configContent.replace(/import "\.\/tasks\/FHECounter";\n?/g, "");
|
|
49
|
-
fs.writeFileSync(configPath, configContent);
|
|
50
|
-
}
|
|
51
|
-
// Remove FHECounter task file
|
|
52
|
-
const oldTaskFile = path.join(outputDir, "tasks", "FHECounter.ts");
|
|
53
|
-
if (fs.existsSync(oldTaskFile)) {
|
|
54
|
-
fs.unlinkSync(oldTaskFile);
|
|
55
|
-
}
|
|
56
|
-
// Create test/types.ts for type safety
|
|
57
|
-
fs.writeFileSync(path.join(outputDir, "test", "types.ts"), TEST_TYPES_CONTENT);
|
|
58
|
-
}
|
|
59
|
-
// =============================================================================
|
|
60
|
-
// Helper Functions
|
|
61
|
-
// =============================================================================
|
|
62
|
-
/**
|
|
63
|
-
* Downloads contract dependencies to the output directory
|
|
64
|
-
*/
|
|
65
|
-
async function downloadDependencies(dependencies, outputDir) {
|
|
66
|
-
for (const depPath of dependencies) {
|
|
67
|
-
const relativePath = depPath.replace(/^contracts\//, "");
|
|
68
|
-
const depDestPath = path.join(outputDir, "contracts", relativePath);
|
|
69
|
-
const depDestDir = path.dirname(depDestPath);
|
|
70
|
-
if (!fs.existsSync(depDestDir)) {
|
|
71
|
-
fs.mkdirSync(depDestDir, { recursive: true });
|
|
72
|
-
}
|
|
73
|
-
await downloadFileFromGitHub(depPath, depDestPath);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Updates package.json with project name, description, and npm dependencies
|
|
78
|
-
*/
|
|
79
|
-
function updatePackageJson(outputDir, projectName, description, npmDependencies) {
|
|
80
|
-
const packageJsonPath = path.join(outputDir, "package.json");
|
|
81
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
82
|
-
packageJson.name = projectName;
|
|
83
|
-
if (description) {
|
|
84
|
-
packageJson.description = description;
|
|
85
|
-
}
|
|
86
|
-
if (npmDependencies && Object.keys(npmDependencies).length > 0) {
|
|
87
|
-
if (!packageJson.dependencies) {
|
|
88
|
-
packageJson.dependencies = {};
|
|
89
|
-
}
|
|
90
|
-
Object.assign(packageJson.dependencies, npmDependencies);
|
|
91
|
-
}
|
|
92
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Initializes git repository (optional, fails silently)
|
|
96
|
-
*/
|
|
97
|
-
async function initGitRepo(outputDir) {
|
|
98
|
-
try {
|
|
99
|
-
await runCommand("git", ["init"], outputDir);
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
// Git init is optional
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// =============================================================================
|
|
106
|
-
// Single Example Builder
|
|
107
|
-
// =============================================================================
|
|
108
|
-
/**
|
|
109
|
-
* Creates a single example project from the template
|
|
110
|
-
*
|
|
111
|
-
* Steps:
|
|
112
|
-
* 1. Copy template directory and clean up
|
|
113
|
-
* 2. Download contract and test files from GitHub
|
|
114
|
-
* 3. Update package.json and deploy scripts
|
|
115
|
-
*/
|
|
116
|
-
export async function createSingleExample(exampleName, outputDir, tempRepoPath) {
|
|
117
|
-
const example = EXAMPLES[exampleName];
|
|
118
|
-
if (!example) {
|
|
119
|
-
throw new Error(`Unknown example: ${exampleName}`);
|
|
120
|
-
}
|
|
121
|
-
const templateDir = path.join(tempRepoPath, "fhevm-hardhat-template");
|
|
122
|
-
const contractName = getContractName(example.contract);
|
|
123
|
-
if (!contractName) {
|
|
124
|
-
throw new Error("Could not extract contract name");
|
|
125
|
-
}
|
|
126
|
-
// Step 1: Copy template and clean up
|
|
127
|
-
copyDirectoryRecursive(templateDir, outputDir);
|
|
128
|
-
cleanupTemplate(outputDir);
|
|
129
|
-
// Step 2: Download example contract
|
|
130
|
-
await downloadFileFromGitHub(example.contract, path.join(outputDir, "contracts", `${contractName}.sol`));
|
|
131
|
-
// Download contract dependencies if specified
|
|
132
|
-
if (example.dependencies) {
|
|
133
|
-
await downloadDependencies(example.dependencies, outputDir);
|
|
134
|
-
}
|
|
135
|
-
// Step 3: Download test file
|
|
136
|
-
await downloadFileFromGitHub(example.test, path.join(outputDir, "test", path.basename(example.test)));
|
|
137
|
-
// Step 4: Update deploy script and package.json
|
|
138
|
-
fs.writeFileSync(path.join(outputDir, "deploy", "deploy.ts"), generateDeployScript(contractName));
|
|
139
|
-
updatePackageJson(outputDir, `fhevm-example-${exampleName}`, example.description, example.npmDependencies);
|
|
140
|
-
// Initialize git repository
|
|
141
|
-
await initGitRepo(outputDir);
|
|
142
|
-
}
|
|
143
|
-
// =============================================================================
|
|
144
|
-
// Category Project Builder
|
|
145
|
-
// =============================================================================
|
|
146
|
-
/**
|
|
147
|
-
* Creates a category project with multiple examples
|
|
148
|
-
*
|
|
149
|
-
* Steps:
|
|
150
|
-
* 1. Copy template directory and clean up
|
|
151
|
-
* 2. Download all contracts and tests for the category
|
|
152
|
-
* 3. Update package.json
|
|
153
|
-
*/
|
|
154
|
-
export async function createCategoryProject(categoryName, outputDir, tempRepoPath) {
|
|
155
|
-
const category = CATEGORIES[categoryName];
|
|
156
|
-
if (!category) {
|
|
157
|
-
throw new Error(`Unknown category: ${categoryName}`);
|
|
158
|
-
}
|
|
159
|
-
const templateDir = path.join(tempRepoPath, "fhevm-hardhat-template");
|
|
160
|
-
// Step 1: Copy template and clean up
|
|
161
|
-
copyDirectoryRecursive(templateDir, outputDir);
|
|
162
|
-
cleanupTemplate(outputDir);
|
|
163
|
-
// Step 2: Download all contracts and tests
|
|
164
|
-
for (const item of category.contracts) {
|
|
165
|
-
const contractName = getContractName(item.sol);
|
|
166
|
-
if (contractName) {
|
|
167
|
-
await downloadFileFromGitHub(item.sol, path.join(outputDir, "contracts", `${contractName}.sol`));
|
|
168
|
-
}
|
|
169
|
-
if (item.test) {
|
|
170
|
-
await downloadFileFromGitHub(item.test, path.join(outputDir, "test", path.basename(item.test)));
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
// Collect dependencies from all examples in this category
|
|
174
|
-
const allDependencies = new Set();
|
|
175
|
-
const allNpmDependencies = {};
|
|
176
|
-
for (const [exampleName, exampleConfig] of Object.entries(EXAMPLES)) {
|
|
177
|
-
if (exampleConfig.category === category.name.replace(" Examples", "")) {
|
|
178
|
-
if (exampleConfig.dependencies) {
|
|
179
|
-
exampleConfig.dependencies.forEach((dep) => allDependencies.add(dep));
|
|
180
|
-
}
|
|
181
|
-
if (exampleConfig.npmDependencies) {
|
|
182
|
-
Object.assign(allNpmDependencies, exampleConfig.npmDependencies);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
// Download all collected dependencies
|
|
187
|
-
if (allDependencies.size > 0) {
|
|
188
|
-
await downloadDependencies(Array.from(allDependencies), outputDir);
|
|
189
|
-
}
|
|
190
|
-
// Step 3: Update package.json
|
|
191
|
-
updatePackageJson(outputDir, `fhevm-examples-${categoryName}`, undefined, allNpmDependencies);
|
|
192
|
-
// Initialize git repository
|
|
193
|
-
await initGitRepo(outputDir);
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=builders.js.map
|
package/dist/builders.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../src/builders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC7E,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED,wBAAwB;IACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED,+CAA+C;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACzD,aAAa,GAAG,aAAa,CAAC,OAAO,CACnC,qCAAqC,EACrC,EAAE,CACH,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,8BAA8B;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,uCAAuC;IACvC,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EACxC,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,YAAsB,EACtB,SAAiB;IAEjB,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,SAAiB,EACjB,WAAmB,EACnB,WAAoB,EACpB,eAAwC;IAExC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1E,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;IAC/B,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;IACxC,CAAC;IAED,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3D,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uBAAuB;IACzB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,SAAiB,EACjB,YAAoB;IAEpB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,qCAAqC;IACrC,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3B,oCAAoC;IACpC,MAAM,sBAAsB,CAC1B,OAAO,CAAC,QAAQ,EAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,MAAM,CAAC,CACzD,CAAC;IAEF,8CAA8C;IAC9C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,oBAAoB,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,6BAA6B;IAC7B,MAAM,sBAAsB,CAC1B,OAAO,CAAC,IAAI,EACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;IAEF,gDAAgD;IAChD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAC3C,oBAAoB,CAAC,YAAY,CAAC,CACnC,CAAC;IAEF,iBAAiB,CACf,SAAS,EACT,iBAAiB,WAAW,EAAE,EAC9B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,CACxB,CAAC;IAEF,4BAA4B;IAC5B,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAoB,EACpB,SAAiB,EACjB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEtE,qCAAqC;IACrC,sBAAsB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/C,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3B,2CAA2C;IAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,sBAAsB,CAC1B,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,MAAM,CAAC,CACzD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,sBAAsB,CAC1B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IAEtD,KAAK,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC/B,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,8BAA8B;IAC9B,iBAAiB,CACf,SAAS,EACT,kBAAkB,YAAY,EAAE,EAChC,SAAS,EACT,kBAAkB,CACnB,CAAC;IAEF,4BAA4B;IAC5B,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/commands.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Command Execution & Install/Test
|
|
3
|
-
*
|
|
4
|
-
* Runs npm install, compile, and test commands.
|
|
5
|
-
* Similar to main project's shared/commands.ts
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Runs npm install, compile, and test in the project directory
|
|
9
|
-
*/
|
|
10
|
-
export declare function runInstallAndTest(projectPath: string): Promise<void>;
|
|
11
|
-
/**
|
|
12
|
-
* Shows quick start commands for the created project
|
|
13
|
-
*/
|
|
14
|
-
export declare function showQuickStart(relativePath: string): void;
|
|
15
|
-
/**
|
|
16
|
-
* Asks user if they want to install and test, then runs or shows quick start
|
|
17
|
-
*/
|
|
18
|
-
export declare function askInstallAndTest(resolvedOutput: string, relativePath: string): Promise<void>;
|
|
19
|
-
//# sourceMappingURL=commands.d.ts.map
|
package/dist/commands.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD1E;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
package/dist/commands.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Command Execution & Install/Test
|
|
3
|
-
*
|
|
4
|
-
* Runs npm install, compile, and test commands.
|
|
5
|
-
* Similar to main project's shared/commands.ts
|
|
6
|
-
*/
|
|
7
|
-
import * as p from "@clack/prompts";
|
|
8
|
-
import pc from "picocolors";
|
|
9
|
-
import { runCommand, extractTestResults } from "./utils.js";
|
|
10
|
-
// =============================================================================
|
|
11
|
-
// Install & Test
|
|
12
|
-
// =============================================================================
|
|
13
|
-
/**
|
|
14
|
-
* Runs npm install, compile, and test in the project directory
|
|
15
|
-
*/
|
|
16
|
-
export async function runInstallAndTest(projectPath) {
|
|
17
|
-
const steps = [
|
|
18
|
-
{
|
|
19
|
-
name: "Installing dependencies",
|
|
20
|
-
cmd: "npm",
|
|
21
|
-
args: ["install"],
|
|
22
|
-
showOutput: false,
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: "Compiling contracts",
|
|
26
|
-
cmd: "npm",
|
|
27
|
-
args: ["run", "compile"],
|
|
28
|
-
showOutput: false,
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: "Running tests",
|
|
32
|
-
cmd: "npm",
|
|
33
|
-
args: ["run", "test"],
|
|
34
|
-
showOutput: true,
|
|
35
|
-
},
|
|
36
|
-
];
|
|
37
|
-
for (const step of steps) {
|
|
38
|
-
const s = p.spinner();
|
|
39
|
-
s.start(step.name + "...");
|
|
40
|
-
try {
|
|
41
|
-
const output = await runCommand(step.cmd, step.args, projectPath);
|
|
42
|
-
if (step.showOutput) {
|
|
43
|
-
const testResults = extractTestResults(output);
|
|
44
|
-
s.stop(testResults
|
|
45
|
-
? pc.green(`✓ ${step.name} - ${testResults}`)
|
|
46
|
-
: pc.green(`✓ ${step.name} completed`));
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
s.stop(pc.green(`✓ ${step.name} completed`));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
s.stop(pc.red(`✗ ${step.name} failed`));
|
|
54
|
-
if (error instanceof Error) {
|
|
55
|
-
p.log.error(error.message);
|
|
56
|
-
}
|
|
57
|
-
throw new Error(`${step.name} failed`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
p.log.success(pc.green("All steps completed successfully!"));
|
|
61
|
-
}
|
|
62
|
-
// =============================================================================
|
|
63
|
-
// Quick Start Display
|
|
64
|
-
// =============================================================================
|
|
65
|
-
/**
|
|
66
|
-
* Shows quick start commands for the created project
|
|
67
|
-
*/
|
|
68
|
-
export function showQuickStart(relativePath) {
|
|
69
|
-
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");
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Asks user if they want to install and test, then runs or shows quick start
|
|
73
|
-
*/
|
|
74
|
-
export async function askInstallAndTest(resolvedOutput, relativePath) {
|
|
75
|
-
const shouldInstall = await p.confirm({
|
|
76
|
-
message: "Install dependencies and run tests?",
|
|
77
|
-
initialValue: false,
|
|
78
|
-
});
|
|
79
|
-
if (p.isCancel(shouldInstall)) {
|
|
80
|
-
showQuickStart(relativePath);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (shouldInstall) {
|
|
84
|
-
p.log.message("");
|
|
85
|
-
await runInstallAndTest(resolvedOutput);
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
showQuickStart(relativePath);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=commands.js.map
|
package/dist/commands.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAMD,eAAO,MAAM,QAAQ,uDAAuD,CAAC;AAC7E,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAMhE,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAqOlD,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAoJrD,CAAC"}
|