create-mn-app 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -157,11 +157,24 @@ A simple message storage contract demonstrating:
157
157
  npx create-mn-app my-app --template hello-world
158
158
  ```
159
159
 
160
- ### 🔜 Coming Soon
160
+ #### **Counter DApp**
161
+
162
+ Real-world example from midnightntwrk demonstrating:
163
+
164
+ - Increment/decrement state management
165
+ - Zero-knowledge proofs on testnet
166
+ - Compact compiler integration
167
+ - Full CLI interface
161
168
 
162
- #### **Counter**
169
+ ```bash
170
+ npx create-mn-app my-counter --template counter
171
+ ```
163
172
 
164
- Simple increment/decrement app demonstrating state management
173
+ _Automatically cloned from [midnightntwrk/example-counter](https://github.com/midnightntwrk/example-counter)_
174
+
175
+ **Requirements:** Node.js 22+, Docker, Compact compiler
176
+
177
+ ### 🔜 Coming Soon
165
178
 
166
179
  #### **Bulletin Board (Bboard)**
167
180
 
@@ -177,11 +190,14 @@ Full stack DApp using NFT smart contract library (Crypto Kitties on Midnight)
177
190
 
178
191
  _These templates are under development. Star the repo to stay updated!_
179
192
 
180
- ## Requirements
193
+ ## ⚙️ Requirements
181
194
 
182
- - **Node.js** 18.0.0 or higher
195
+ - **Node.js** 22.0.0 or higher (required for all templates)
183
196
  - **Docker** (for running the proof server)
184
- - **npm**, **yarn**, or **pnpm** package manager
197
+ - **npm**, **yarn**, **pnpm**, or **bun** package manager
198
+ - **Compact Compiler** (required for Counter and future templates - CLI will guide installation)
199
+
200
+ > **Note:** The CLI automatically checks Node.js version on startup and will guide you if an upgrade is needed.
185
201
 
186
202
  ## 📦 Package Manager Options
187
203
 
@@ -276,13 +292,13 @@ If you see "Node.js Version Error":
276
292
  # Check your version
277
293
  node --version
278
294
 
279
- # Install Node.js 18+ from https://nodejs.org
295
+ # Install Node.js 22+ from https://nodejs.org
280
296
  # Or use nvm:
281
- nvm install --lts
282
- nvm use --lts
297
+ nvm install 22
298
+ nvm use 22
283
299
  ```
284
300
 
285
- The CLI automatically checks for Node.js 18+ before running!
301
+ The CLI automatically checks for Node.js 22+ before running!
286
302
 
287
303
  ### Environment issues
288
304
 
package/dist/cli.js CHANGED
@@ -8,12 +8,12 @@ const chalk_1 = __importDefault(require("chalk"));
8
8
  const create_app_js_1 = require("./create-app.js");
9
9
  const error_handler_js_1 = require("./utils/error-handler.js");
10
10
  const program = new commander_1.Command();
11
- // Check Node.js version before anything else
12
- error_handler_js_1.ErrorHandler.checkNodeVersion(18);
11
+ // Check Node.js version before anything else (require 22+)
12
+ error_handler_js_1.ErrorHandler.checkNodeVersion(22);
13
13
  program
14
14
  .name("create-midnight-app")
15
15
  .description("Create a new Midnight Network application")
16
- .version("0.1.0")
16
+ .version("0.2.0")
17
17
  .argument("[project-directory]", "Directory name for your project")
18
18
  .option("-t, --template <name>", "Template to use (hello-world, counter, bboard, dex, midnight-kitties)")
19
19
  .option("--use-npm", "Use npm explicitly")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,mDAA4C;AAC5C,+DAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,6CAA6C;AAC7C,+BAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAElC,OAAO;KACJ,IAAI,CAAC,qBAAqB,CAAC;KAC3B,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;KAClE,MAAM,CACL,uBAAuB,EACvB,uEAAuE,CACxE;KACA,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;KACrD,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,IAAA,yBAAS,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,+BAAY,CAAC,WAAW,CACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,cAAc,CACf,CACF,CAAC;QAEF,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,+BAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,mDAA4C;AAC5C,+DAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,2DAA2D;AAC3D,+BAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAElC,OAAO;KACJ,IAAI,CAAC,qBAAqB,CAAC;KAC3B,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;KAClE,MAAM,CACL,uBAAuB,EACvB,uEAAuE,CACxE;KACA,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;KACrD,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;KAC1D,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,IAAA,yBAAS,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,+BAAY,CAAC,WAAW,CACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,cAAc,CACf,CACF,CAAC;QAEF,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,+BAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAyLf"}
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA0If"}
@@ -15,6 +15,9 @@ const template_manager_js_1 = require("./utils/template-manager.js");
15
15
  const wallet_generator_js_1 = require("./installers/wallet-generator.js");
16
16
  const proof_server_setup_js_1 = require("./installers/proof-server-setup.js");
17
17
  const git_utils_js_1 = require("./utils/git-utils.js");
18
+ const git_cloner_js_1 = require("./utils/git-cloner.js");
19
+ const requirement_checker_js_1 = require("./utils/requirement-checker.js");
20
+ const setup_guide_js_1 = require("./utils/setup-guide.js");
18
21
  const package_manager_js_1 = require("./utils/package-manager.js");
19
22
  const templates_js_1 = require("./utils/templates.js");
20
23
  async function createApp(projectDirectory, options) {
@@ -123,14 +126,20 @@ async function createApp(projectDirectory, options) {
123
126
  console.log();
124
127
  // Main creation process
125
128
  await createProject(projectPath, projectName, selectedTemplate, packageManager, options);
126
- // Success message and instructions
129
+ // Success message - only show for bundled templates
130
+ const template = (0, templates_js_1.getTemplate)(selectedTemplate);
131
+ if (template && template.type === "bundled") {
132
+ displayBundledSuccessMessage(projectName, pmInfo);
133
+ }
134
+ }
135
+ function displayBundledSuccessMessage(projectName, pmInfo) {
127
136
  console.log();
128
137
  console.log(chalk_1.default.green.bold("━".repeat(60)));
129
138
  console.log(chalk_1.default.green.bold("🎉 Success! Your Midnight app is ready."));
130
139
  console.log(chalk_1.default.green.bold("━".repeat(60)));
131
140
  console.log();
132
141
  console.log(chalk_1.default.white.bold("📂 Project created at:"));
133
- console.log(` ${chalk_1.default.cyan(projectPath)}`);
142
+ console.log(` ${chalk_1.default.cyan(projectName)}`);
134
143
  console.log();
135
144
  console.log(chalk_1.default.white.bold("🚀 Next Steps:"));
136
145
  console.log();
@@ -170,15 +179,72 @@ async function createApp(projectDirectory, options) {
170
179
  console.log(chalk_1.default.white("Happy coding! ") + chalk_1.default.yellow("🌙✨"));
171
180
  console.log();
172
181
  }
173
- async function createProject(projectPath, projectName, template, packageManager, options) {
182
+ async function createProject(projectPath, projectName, templateName, packageManager, options) {
174
183
  const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
184
+ const template = (0, templates_js_1.getTemplate)(templateName);
185
+ if (!template) {
186
+ throw new Error(`Template "${templateName}" not found`);
187
+ }
175
188
  // Create project directory
176
189
  await fs_extra_1.default.ensureDir(projectPath);
177
190
  process.chdir(projectPath);
191
+ // Handle different template types
192
+ if (template.type === "remote") {
193
+ await createRemoteTemplate(projectPath, projectName, template, packageManager, options);
194
+ }
195
+ else {
196
+ await createBundledTemplate(projectPath, projectName, template, packageManager, options);
197
+ }
198
+ }
199
+ async function createRemoteTemplate(projectPath, projectName, template, packageManager, options) {
200
+ const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
201
+ // Check requirements before cloning
202
+ if (template.requiresCompactCompiler || template.nodeVersion) {
203
+ const checks = [];
204
+ if (template.nodeVersion) {
205
+ checks.push(requirement_checker_js_1.RequirementChecker.checkNodeVersion(template.nodeVersion));
206
+ }
207
+ checks.push(requirement_checker_js_1.RequirementChecker.checkDocker());
208
+ if (template.requiresCompactCompiler) {
209
+ checks.push(requirement_checker_js_1.RequirementChecker.checkCompactCompiler());
210
+ }
211
+ const allPassed = requirement_checker_js_1.RequirementChecker.displayResults(checks);
212
+ if (!allPassed) {
213
+ console.log(chalk_1.default.yellow("\n⚠ Please install missing requirements and try again.\n"));
214
+ process.exit(1);
215
+ }
216
+ }
217
+ // Clone repository
218
+ const cloneSpinner = (0, ora_1.default)(`Cloning ${template.display} from GitHub...`).start();
219
+ try {
220
+ await git_cloner_js_1.GitCloner.clone(template.repo, projectPath);
221
+ cloneSpinner.succeed(`Cloned ${template.display}`);
222
+ setup_guide_js_1.SetupGuide.displayPostCloneMessage(template.name);
223
+ }
224
+ catch (error) {
225
+ cloneSpinner.fail("Failed to clone repository");
226
+ throw error;
227
+ }
228
+ // Initialize git (since we removed .git from cloned repo)
229
+ if (!options.skipGit) {
230
+ const gitSpinner = (0, ora_1.default)("Initializing git repository...").start();
231
+ try {
232
+ await git_utils_js_1.GitUtils.init(projectPath);
233
+ gitSpinner.succeed("Git repository initialized");
234
+ }
235
+ catch (error) {
236
+ gitSpinner.warn("Git repository initialization skipped");
237
+ }
238
+ }
239
+ // Display setup instructions
240
+ setup_guide_js_1.SetupGuide.getInstructions(template.name, projectName, packageManager);
241
+ }
242
+ async function createBundledTemplate(projectPath, projectName, template, packageManager, options) {
243
+ const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
178
244
  // Initialize template
179
245
  const templateSpinner = (0, ora_1.default)("Creating project structure...").start();
180
246
  try {
181
- const templateManager = new template_manager_js_1.TemplateManager(template);
247
+ const templateManager = new template_manager_js_1.TemplateManager(template.name);
182
248
  await templateManager.scaffold(projectPath, projectName);
183
249
  templateSpinner.succeed("Project structure created");
184
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class GitCloner {
2
+ /**
3
+ * Clone a GitHub repository
4
+ */
5
+ static clone(repo: string, targetPath: string, branch?: string): Promise<void>;
6
+ /**
7
+ * Check if git is available
8
+ */
9
+ static isGitAvailable(): boolean;
10
+ }
11
+ //# sourceMappingURL=git-cloner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-cloner.d.ts","sourceRoot":"","sources":["../../src/utils/git-cloner.ts"],"names":[],"mappings":"AAKA,qBAAa,SAAS;IACpB;;OAEG;WACU,KAAK,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,OAAO;CAQjC"}
@@ -0,0 +1,50 @@
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.GitCloner = void 0;
7
+ const child_process_1 = require("child_process");
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const path_1 = __importDefault(require("path"));
10
+ class GitCloner {
11
+ /**
12
+ * Clone a GitHub repository
13
+ */
14
+ static async clone(repo, targetPath, branch = "main") {
15
+ const repoUrl = `https://github.com/${repo}.git`;
16
+ try {
17
+ // Check if git is available
18
+ (0, child_process_1.execSync)("git --version", { stdio: "ignore" });
19
+ }
20
+ catch {
21
+ throw new Error("Git is not installed. Please install Git from https://git-scm.com");
22
+ }
23
+ try {
24
+ // Clone with depth 1 for faster cloning
25
+ (0, child_process_1.execSync)(`git clone --depth 1 --branch ${branch} ${repoUrl} "${targetPath}"`, { stdio: "pipe" });
26
+ // Remove .git directory to make it a fresh project
27
+ const gitDir = path_1.default.join(targetPath, ".git");
28
+ if (fs_extra_1.default.existsSync(gitDir)) {
29
+ await fs_extra_1.default.remove(gitDir);
30
+ }
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Failed to clone repository ${repo}. Please check your internet connection and try again.`);
34
+ }
35
+ }
36
+ /**
37
+ * Check if git is available
38
+ */
39
+ static isGitAvailable() {
40
+ try {
41
+ (0, child_process_1.execSync)("git --version", { stdio: "ignore" });
42
+ return true;
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ }
49
+ exports.GitCloner = GitCloner;
50
+ //# sourceMappingURL=git-cloner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-cloner.js","sourceRoot":"","sources":["../../src/utils/git-cloner.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAyC;AACzC,wDAA0B;AAC1B,gDAAwB;AAGxB,MAAa,SAAS;IACpB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,IAAY,EACZ,UAAkB,EAClB,SAAiB,MAAM;QAEvB,MAAM,OAAO,GAAG,sBAAsB,IAAI,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,4BAA4B;YAC5B,IAAA,wBAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,wCAAwC;YACxC,IAAA,wBAAQ,EACN,gCAAgC,MAAM,IAAI,OAAO,KAAK,UAAU,GAAG,EACnE,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;YAEF,mDAAmD;YACnD,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,kBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,kBAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,wDAAwD,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAlDD,8BAkDC"}
@@ -0,0 +1,27 @@
1
+ export interface RequirementCheck {
2
+ name: string;
3
+ required: boolean;
4
+ found: boolean;
5
+ version?: string;
6
+ installUrl?: string;
7
+ installCommand?: string;
8
+ }
9
+ export declare class RequirementChecker {
10
+ /**
11
+ * Check Node.js version
12
+ */
13
+ static checkNodeVersion(minVersion: number): RequirementCheck;
14
+ /**
15
+ * Check Docker availability
16
+ */
17
+ static checkDocker(): RequirementCheck;
18
+ /**
19
+ * Check Compact compiler availability
20
+ */
21
+ static checkCompactCompiler(): RequirementCheck;
22
+ /**
23
+ * Display requirement check results
24
+ */
25
+ static displayResults(checks: RequirementCheck[]): boolean;
26
+ }
27
+ //# sourceMappingURL=requirement-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirement-checker.d.ts","sourceRoot":"","sources":["../../src/utils/requirement-checker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAa7D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAsBtC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,gBAAgB;IAwB/C;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO;CAwC3D"}
@@ -0,0 +1,110 @@
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.RequirementChecker = void 0;
7
+ const child_process_1 = require("child_process");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ class RequirementChecker {
10
+ /**
11
+ * Check Node.js version
12
+ */
13
+ static checkNodeVersion(minVersion) {
14
+ const version = process.version;
15
+ const major = parseInt(version.slice(1).split(".")[0]);
16
+ return {
17
+ name: "Node.js",
18
+ required: true,
19
+ found: major >= minVersion,
20
+ version: version,
21
+ installUrl: "https://nodejs.org/",
22
+ };
23
+ }
24
+ /**
25
+ * Check Docker availability
26
+ */
27
+ static checkDocker() {
28
+ try {
29
+ const version = (0, child_process_1.execSync)("docker --version", {
30
+ encoding: "utf-8",
31
+ }).trim();
32
+ return {
33
+ name: "Docker",
34
+ required: true,
35
+ found: true,
36
+ version: version.split(" ")[2]?.replace(",", ""),
37
+ installUrl: "https://docs.docker.com/desktop/",
38
+ };
39
+ }
40
+ catch {
41
+ return {
42
+ name: "Docker",
43
+ required: true,
44
+ found: false,
45
+ installUrl: "https://docs.docker.com/desktop/",
46
+ };
47
+ }
48
+ }
49
+ /**
50
+ * Check Compact compiler availability
51
+ */
52
+ static checkCompactCompiler() {
53
+ try {
54
+ const version = (0, child_process_1.execSync)("compact compile --version", {
55
+ encoding: "utf-8",
56
+ }).trim();
57
+ return {
58
+ name: "Compact Compiler",
59
+ required: true,
60
+ found: true,
61
+ version: version,
62
+ installCommand: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh",
63
+ };
64
+ }
65
+ catch {
66
+ return {
67
+ name: "Compact Compiler",
68
+ required: true,
69
+ found: false,
70
+ installCommand: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh | sh",
71
+ };
72
+ }
73
+ }
74
+ /**
75
+ * Display requirement check results
76
+ */
77
+ static displayResults(checks) {
78
+ console.log(chalk_1.default.blue.bold("\n🔍 Checking Requirements\n"));
79
+ let allPassed = true;
80
+ for (const check of checks) {
81
+ if (check.found) {
82
+ console.log(`${chalk_1.default.green("✓")} ${check.name} ${check.version ? chalk_1.default.gray(`(${check.version})`) : ""}`);
83
+ }
84
+ else {
85
+ allPassed = false;
86
+ console.log(`${chalk_1.default.red("✗")} ${check.name} ${chalk_1.default.red("not found")}`);
87
+ }
88
+ }
89
+ if (!allPassed) {
90
+ console.log();
91
+ console.log(chalk_1.default.yellow.bold("⚠ Missing Requirements:\n"));
92
+ for (const check of checks.filter((c) => !c.found)) {
93
+ console.log(chalk_1.default.white(`${check.name}:`));
94
+ if (check.installCommand) {
95
+ console.log(chalk_1.default.gray(` Install: ${check.installCommand}`));
96
+ }
97
+ if (check.installUrl) {
98
+ console.log(chalk_1.default.gray(` Visit: ${check.installUrl}`));
99
+ }
100
+ console.log();
101
+ }
102
+ }
103
+ else {
104
+ console.log(chalk_1.default.green("\n✓ All requirements met!\n"));
105
+ }
106
+ return allPassed;
107
+ }
108
+ }
109
+ exports.RequirementChecker = RequirementChecker;
110
+ //# sourceMappingURL=requirement-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requirement-checker.js","sourceRoot":"","sources":["../../src/utils/requirement-checker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { PackageManager } from "./package-manager.js";
2
+ export interface SetupStep {
3
+ title: string;
4
+ commands: string[];
5
+ cwd?: string;
6
+ optional?: boolean;
7
+ }
8
+ export declare class SetupGuide {
9
+ /**
10
+ * Get setup instructions for a template
11
+ */
12
+ static getInstructions(templateName: string, projectName: string, packageManager: PackageManager): void;
13
+ /**
14
+ * Display Counter template instructions
15
+ */
16
+ private static displayCounterInstructions;
17
+ /**
18
+ * Display post-clone message
19
+ */
20
+ static displayPostCloneMessage(templateName: string): void;
21
+ }
22
+ //# sourceMappingURL=setup-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.d.ts","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,GAC7B,IAAI;IAaP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAiFzC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAoB3D"}
@@ -0,0 +1,89 @@
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.SetupGuide = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const templates_js_1 = require("./templates.js");
9
+ class SetupGuide {
10
+ /**
11
+ * Get setup instructions for a template
12
+ */
13
+ static getInstructions(templateName, projectName, packageManager) {
14
+ const template = (0, templates_js_1.getTemplate)(templateName);
15
+ if (!template || template.type !== "remote")
16
+ return;
17
+ console.log();
18
+ console.log(chalk_1.default.blue.bold("📚 Setup Instructions\n"));
19
+ if (templateName === "counter") {
20
+ this.displayCounterInstructions(projectName, packageManager);
21
+ }
22
+ // Add other templates as they become available
23
+ }
24
+ /**
25
+ * Display Counter template instructions
26
+ */
27
+ static displayCounterInstructions(projectName, pm) {
28
+ const installCmd = pm === "npm"
29
+ ? "npm install"
30
+ : pm === "yarn"
31
+ ? "yarn"
32
+ : pm === "pnpm"
33
+ ? "pnpm install"
34
+ : "bun install";
35
+ const runCmd = pm === "npm" ? "npm run" : pm;
36
+ console.log(chalk_1.default.white.bold("📂 Project Structure:"));
37
+ console.log(chalk_1.default.gray(" contract/ - Smart contract in Compact language"));
38
+ console.log(chalk_1.default.gray(" counter-cli/ - Command-line interface"));
39
+ console.log();
40
+ console.log(chalk_1.default.white.bold("🚀 Getting Started:\n"));
41
+ console.log(chalk_1.default.yellow("1.") + " Navigate to your project:");
42
+ console.log(` ${chalk_1.default.cyan(`cd ${projectName}`)}`);
43
+ console.log();
44
+ console.log(chalk_1.default.yellow("2.") + " Install dependencies:");
45
+ console.log(` ${chalk_1.default.cyan(installCmd)}`);
46
+ console.log();
47
+ console.log(chalk_1.default.yellow("3.") + " Compile the smart contract:");
48
+ console.log(` ${chalk_1.default.cyan(`cd contract && ${runCmd} compact`)}`);
49
+ console.log(chalk_1.default.gray(" (First time may download ~500MB of ZK parameters)"));
50
+ console.log();
51
+ console.log(chalk_1.default.yellow("4.") + " Build the project:");
52
+ console.log(` ${chalk_1.default.cyan(`${runCmd} build`)}`);
53
+ console.log(` ${chalk_1.default.cyan(`cd ../counter-cli && ${runCmd} build`)}`);
54
+ console.log();
55
+ console.log(chalk_1.default.yellow("5.") + " Start the proof server (in a new terminal):");
56
+ console.log(chalk_1.default.cyan(" docker run -p 6300:6300 midnightnetwork/proof-server -- 'midnight-proof-server --network testnet'"));
57
+ console.log(chalk_1.default.gray(" Keep this running!"));
58
+ console.log();
59
+ console.log(chalk_1.default.yellow("6.") + " Run the Counter DApp:");
60
+ console.log(` ${chalk_1.default.cyan(`cd counter-cli && ${runCmd} start-testnet-remote`)}`);
61
+ console.log();
62
+ console.log(chalk_1.default.magenta.bold("💡 Important Notes:\n"));
63
+ console.log(chalk_1.default.gray(" • You'll need to create a wallet and fund it from the faucet"));
64
+ console.log(chalk_1.default.gray(" • Testnet faucet: https://midnight.network/test-faucet"));
65
+ console.log(chalk_1.default.gray(" • Funding takes 2-3 minutes to process"));
66
+ console.log();
67
+ console.log(chalk_1.default.white.bold("📖 Full Guide:"));
68
+ console.log(chalk_1.default.gray(" See README.md for detailed instructions and troubleshooting"));
69
+ console.log();
70
+ }
71
+ /**
72
+ * Display post-clone message
73
+ */
74
+ static displayPostCloneMessage(templateName) {
75
+ const template = (0, templates_js_1.getTemplate)(templateName);
76
+ if (!template)
77
+ return;
78
+ console.log();
79
+ console.log(chalk_1.default.green("✓ Successfully cloned example project!"));
80
+ console.log();
81
+ if (template.requiresCompactCompiler) {
82
+ console.log(chalk_1.default.yellow("⚠ This project requires the Compact compiler to be installed."));
83
+ console.log(chalk_1.default.gray(" Follow the setup instructions below to install it."));
84
+ console.log();
85
+ }
86
+ }
87
+ }
88
+ exports.SetupGuide = SetupGuide;
89
+ //# sourceMappingURL=setup-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iDAA6C;AAU7C,MAAa,UAAU;IACrB;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,YAAoB,EACpB,WAAmB,EACnB,cAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAEpD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAExD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,+CAA+C;IACjD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,0BAA0B,CACvC,WAAmB,EACnB,EAAkB;QAElB,MAAM,UAAU,GACd,EAAE,KAAK,KAAK;YACV,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,EAAE,KAAK,MAAM;gBACf,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,EAAE,KAAK,MAAM;oBACf,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,aAAa,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,8CAA8C,CACpE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,sGAAsG,CACvG,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CACT,MAAM,eAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,uBAAuB,CAAC,EAAE,CACvE,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,gEAAgE,CACjE,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CACvE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,+DAA+D,CAChE,CACF,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,YAAoB;QACjD,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,+DAA+D,CAChE,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CACnE,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAhID,gCAgIC"}
@@ -5,6 +5,17 @@ export interface Template {
5
5
  available: boolean;
6
6
  comingSoon?: boolean;
7
7
  }
8
+ export interface Template {
9
+ name: string;
10
+ display: string;
11
+ description: string;
12
+ available: boolean;
13
+ comingSoon?: boolean;
14
+ type: "bundled" | "remote";
15
+ repo?: string;
16
+ nodeVersion?: number;
17
+ requiresCompactCompiler?: boolean;
18
+ }
8
19
  export declare const templates: Template[];
9
20
  /**
10
21
  * Get available templates for selection
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,QAAQ,EAsC/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,eAAO,MAAM,SAAS,EAAE,QAAQ,EA+C/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD"}
@@ -11,13 +11,17 @@ exports.templates = [
11
11
  display: "Hello World",
12
12
  description: "Simple starter template with basic contract deployment",
13
13
  available: true,
14
+ type: "bundled",
14
15
  },
15
16
  {
16
17
  name: "counter",
17
- display: "Counter",
18
- description: "Simple increment/decrement app demonstrating state management",
19
- available: false,
20
- comingSoon: true,
18
+ display: "Counter DApp",
19
+ description: "Increment/decrement app demonstrating state management",
20
+ available: true,
21
+ type: "remote",
22
+ repo: "midnightntwrk/example-counter",
23
+ nodeVersion: 22,
24
+ requiresCompactCompiler: true,
21
25
  },
22
26
  {
23
27
  name: "bboard",
@@ -25,6 +29,8 @@ exports.templates = [
25
29
  description: "Bulletin board with multi-user interactions and privacy patterns",
26
30
  available: false,
27
31
  comingSoon: true,
32
+ type: "remote",
33
+ repo: "midnightntwrk/example-bboard",
28
34
  },
29
35
  {
30
36
  name: "dex",
@@ -32,6 +38,8 @@ exports.templates = [
32
38
  description: "Decentralized exchange using OpenZeppelin FungibleToken",
33
39
  available: false,
34
40
  comingSoon: true,
41
+ type: "remote",
42
+ repo: "midnightntwrk/example-dex",
35
43
  },
36
44
  {
37
45
  name: "midnight-kitties",
@@ -39,6 +47,8 @@ exports.templates = [
39
47
  description: "Full stack DApp using NFT smart contract library (Crypto Kitties on Midnight)",
40
48
  available: false,
41
49
  comingSoon: true,
50
+ type: "remote",
51
+ repo: "midnightntwrk/midnight-kitties",
42
52
  },
43
53
  ];
44
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":";;;AAmDA,sDAEC;AAKD,0CAEC;AAKD,kCAEC;AAKD,0CAGC;AAnEY,QAAA,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,IAAI;KAChB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,WAAW,EACT,+DAA+D;QACjE,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,WAAW,EACT,kEAAkE;QACpE,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EACT,+EAA+E;QACjF,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;KACjB;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO,iBAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":";;;AAwEA,sDAEC;AAKD,0CAEC;AAKD,kCAEC;AAKD,0CAGC;AA5EY,QAAA,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS;KAChB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,EAAE;QACf,uBAAuB,EAAE,IAAI;KAC9B;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yBAAyB;QAClC,WAAW,EACT,kEAAkE;QACpE,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,8BAA8B;KACrC;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,yDAAyD;QACtE,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,2BAA2B;KAClC;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EACT,+EAA+E;QACjF,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gCAAgC;KACvC;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO,iBAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;AACtD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mn-app",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Create Midnight Network applications with zero configuration",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -51,7 +51,7 @@
51
51
  "typescript": "^5.0.0"
52
52
  },
53
53
  "engines": {
54
- "node": ">=18.0.0"
54
+ "node": ">=22.0.0"
55
55
  },
56
56
  "repository": {
57
57
  "type": "git",