create-mn-app 0.1.0 → 0.2.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 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")
@@ -24,7 +24,7 @@ program
24
24
  .option("--skip-git", "Skip git repository initialization")
25
25
  .option("--verbose", "Show detailed output")
26
26
  .action(async (projectDirectory, options) => {
27
- console.log(chalk_1.default.blue.bold("🌙 Create Midnight App\n"));
27
+ console.log(chalk_1.default.bold.cyan("\ncreate-midnight-app") + chalk_1.default.gray(" v0.2.1\n"));
28
28
  try {
29
29
  await (0, create_app_js_1.createApp)(projectDirectory, options);
30
30
  }
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,CACT,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CACnE,CAAC;IAEF,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,CA2If"}
@@ -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) {
@@ -95,7 +98,8 @@ async function createApp(projectDirectory, options) {
95
98
  }
96
99
  else {
97
100
  packageManager = (0, package_manager_js_1.detectPackageManager)();
98
- console.log(chalk_1.default.gray(`ℹ Detected package manager: ${chalk_1.default.cyan(packageManager)}\n`));
101
+ console.log(chalk_1.default.bold("[" + chalk_1.default.blue("i") + "] ") +
102
+ chalk_1.default.gray(`package manager: ${chalk_1.default.cyan(packageManager)}\n`));
99
103
  }
100
104
  const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
101
105
  const validation = (0, validation_js_1.validateProjectName)(projectName);
@@ -123,14 +127,20 @@ async function createApp(projectDirectory, options) {
123
127
  console.log();
124
128
  // Main creation process
125
129
  await createProject(projectPath, projectName, selectedTemplate, packageManager, options);
126
- // Success message and instructions
130
+ // Success message - only show for bundled templates
131
+ const template = (0, templates_js_1.getTemplate)(selectedTemplate);
132
+ if (template && template.type === "bundled") {
133
+ displayBundledSuccessMessage(projectName, pmInfo);
134
+ }
135
+ }
136
+ function displayBundledSuccessMessage(projectName, pmInfo) {
127
137
  console.log();
128
138
  console.log(chalk_1.default.green.bold("━".repeat(60)));
129
139
  console.log(chalk_1.default.green.bold("🎉 Success! Your Midnight app is ready."));
130
140
  console.log(chalk_1.default.green.bold("━".repeat(60)));
131
141
  console.log();
132
142
  console.log(chalk_1.default.white.bold("📂 Project created at:"));
133
- console.log(` ${chalk_1.default.cyan(projectPath)}`);
143
+ console.log(` ${chalk_1.default.cyan(projectName)}`);
134
144
  console.log();
135
145
  console.log(chalk_1.default.white.bold("🚀 Next Steps:"));
136
146
  console.log();
@@ -170,15 +180,72 @@ async function createApp(projectDirectory, options) {
170
180
  console.log(chalk_1.default.white("Happy coding! ") + chalk_1.default.yellow("🌙✨"));
171
181
  console.log();
172
182
  }
173
- async function createProject(projectPath, projectName, template, packageManager, options) {
183
+ async function createProject(projectPath, projectName, templateName, packageManager, options) {
174
184
  const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
185
+ const template = (0, templates_js_1.getTemplate)(templateName);
186
+ if (!template) {
187
+ throw new Error(`Template "${templateName}" not found`);
188
+ }
175
189
  // Create project directory
176
190
  await fs_extra_1.default.ensureDir(projectPath);
177
191
  process.chdir(projectPath);
192
+ // Handle different template types
193
+ if (template.type === "remote") {
194
+ await createRemoteTemplate(projectPath, projectName, template, packageManager, options);
195
+ }
196
+ else {
197
+ await createBundledTemplate(projectPath, projectName, template, packageManager, options);
198
+ }
199
+ }
200
+ async function createRemoteTemplate(projectPath, projectName, template, packageManager, options) {
201
+ const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
202
+ // Check requirements before cloning
203
+ if (template.requiresCompactCompiler || template.nodeVersion) {
204
+ const checks = [];
205
+ if (template.nodeVersion) {
206
+ checks.push(requirement_checker_js_1.RequirementChecker.checkNodeVersion(template.nodeVersion));
207
+ }
208
+ checks.push(requirement_checker_js_1.RequirementChecker.checkDocker());
209
+ if (template.requiresCompactCompiler) {
210
+ checks.push(requirement_checker_js_1.RequirementChecker.checkCompactCompiler());
211
+ }
212
+ const allPassed = requirement_checker_js_1.RequirementChecker.displayResults(checks);
213
+ if (!allPassed) {
214
+ console.log(chalk_1.default.yellow("\n⚠ Please install missing requirements and try again.\n"));
215
+ process.exit(1);
216
+ }
217
+ }
218
+ // Clone repository
219
+ const cloneSpinner = (0, ora_1.default)(`Cloning ${template.display} from GitHub...`).start();
220
+ try {
221
+ await git_cloner_js_1.GitCloner.clone(template.repo, projectPath);
222
+ cloneSpinner.succeed(`Cloned ${template.display}`);
223
+ setup_guide_js_1.SetupGuide.displayPostCloneMessage(template.name);
224
+ }
225
+ catch (error) {
226
+ cloneSpinner.fail("Failed to clone repository");
227
+ throw error;
228
+ }
229
+ // Initialize git (since we removed .git from cloned repo)
230
+ if (!options.skipGit) {
231
+ const gitSpinner = (0, ora_1.default)("Initializing git repository...").start();
232
+ try {
233
+ await git_utils_js_1.GitUtils.init(projectPath);
234
+ gitSpinner.succeed("Git repository initialized");
235
+ }
236
+ catch (error) {
237
+ gitSpinner.warn("Git repository initialization skipped");
238
+ }
239
+ }
240
+ // Display setup instructions
241
+ setup_guide_js_1.SetupGuide.getInstructions(template.name, projectName, packageManager);
242
+ }
243
+ async function createBundledTemplate(projectPath, projectName, template, packageManager, options) {
244
+ const pmInfo = (0, package_manager_js_1.getPackageManagerInfo)(packageManager);
178
245
  // Initialize template
179
246
  const templateSpinner = (0, ora_1.default)("Creating project structure...").start();
180
247
  try {
181
- const templateManager = new template_manager_js_1.TemplateManager(template);
248
+ const templateManager = new template_manager_js_1.TemplateManager(template.name);
182
249
  await templateManager.scaffold(projectPath, projectName);
183
250
  templateSpinner.succeed("Project structure created");
184
251
  }
@@ -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,114 @@
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.bold("[" + chalk_1.default.cyan("✓") + "] Requirements Check\n"));
79
+ let allPassed = true;
80
+ for (const check of checks) {
81
+ const name = check.name.toLowerCase().padEnd(16);
82
+ if (check.found) {
83
+ const version = check.version ? chalk_1.default.gray(`${check.version}`) : "";
84
+ const status = chalk_1.default.green("[installed]");
85
+ console.log(` ${chalk_1.default.gray(name)} ${version} ${status}`);
86
+ }
87
+ else {
88
+ allPassed = false;
89
+ const status = chalk_1.default.red("[missing]");
90
+ console.log(` ${chalk_1.default.gray(name)} ${status}`);
91
+ }
92
+ }
93
+ if (!allPassed) {
94
+ console.log();
95
+ console.log(chalk_1.default.bold("[" + chalk_1.default.yellow("!") + "] Missing Dependencies\n"));
96
+ for (const check of checks.filter((c) => !c.found)) {
97
+ console.log(chalk_1.default.white(` ${check.name}:`));
98
+ if (check.installCommand) {
99
+ console.log(chalk_1.default.gray(` $ ${check.installCommand}`));
100
+ }
101
+ if (check.installUrl) {
102
+ console.log(chalk_1.default.gray(` → ${check.installUrl}`));
103
+ }
104
+ console.log();
105
+ }
106
+ }
107
+ else {
108
+ console.log(chalk_1.default.gray("\n all dependencies satisfied\n"));
109
+ }
110
+ return allPassed;
111
+ }
112
+ }
113
+ exports.RequirementChecker = RequirementChecker;
114
+ //# 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;IAYP;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA4DzC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAY3D"}
@@ -0,0 +1,78 @@
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(chalk_1.default.bold("\n[" + chalk_1.default.blue("→") + "] Next Steps\n"));
18
+ if (templateName === "counter") {
19
+ this.displayCounterInstructions(projectName, packageManager);
20
+ }
21
+ // Add other templates as they become available
22
+ }
23
+ /**
24
+ * Display Counter template instructions
25
+ */
26
+ static displayCounterInstructions(projectName, pm) {
27
+ const installCmd = pm === "npm"
28
+ ? "npm install"
29
+ : pm === "yarn"
30
+ ? "yarn"
31
+ : pm === "pnpm"
32
+ ? "pnpm install"
33
+ : "bun install";
34
+ const runCmd = pm === "npm" ? "npm run" : pm;
35
+ console.log(chalk_1.default.gray(" project structure:"));
36
+ console.log(chalk_1.default.gray(" ├─ contract/ smart contract (compact)"));
37
+ console.log(chalk_1.default.gray(" └─ counter-cli/ cli interface"));
38
+ console.log();
39
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(`cd ${projectName}`));
40
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(installCmd));
41
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(`cd contract && ${runCmd} compact`));
42
+ console.log(chalk_1.default.gray(" (downloads ~500MB zk parameters on first run)"));
43
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(`${runCmd} build`));
44
+ console.log(chalk_1.default.gray(" $ ") + chalk_1.default.cyan(`cd ../counter-cli && ${runCmd} build`));
45
+ console.log();
46
+ console.log(chalk_1.default.bold("[" + chalk_1.default.magenta("i") + "] Proof Server\n"));
47
+ console.log(chalk_1.default.gray(" $ ") +
48
+ chalk_1.default.cyan("docker run -p 6300:6300 midnightnetwork/proof-server -- 'midnight-proof-server --network testnet'"));
49
+ console.log(chalk_1.default.gray(" keep this terminal running"));
50
+ console.log();
51
+ console.log(chalk_1.default.bold("[" + chalk_1.default.green("▶") + "] Run Application\n"));
52
+ console.log(chalk_1.default.gray(" $ ") +
53
+ chalk_1.default.cyan(`cd counter-cli && ${runCmd} start-testnet-remote`));
54
+ console.log();
55
+ console.log(chalk_1.default.bold("[" + chalk_1.default.yellow("!") + "] Important\n"));
56
+ console.log(chalk_1.default.gray(" • create wallet and fund from faucet"));
57
+ console.log(chalk_1.default.gray(" • testnet faucet: https://midnight.network/test-faucet"));
58
+ console.log(chalk_1.default.gray(" • funding takes 2-3 minutes"));
59
+ console.log(chalk_1.default.gray(" • see README.md for detailed guide"));
60
+ console.log();
61
+ }
62
+ /**
63
+ * Display post-clone message
64
+ */
65
+ static displayPostCloneMessage(templateName) {
66
+ const template = (0, templates_js_1.getTemplate)(templateName);
67
+ if (!template)
68
+ return;
69
+ console.log(chalk_1.default.bold("\n[" + chalk_1.default.green("✓") + "] Clone Complete\n"));
70
+ if (template.requiresCompactCompiler) {
71
+ console.log(chalk_1.default.gray(" compact compiler required"));
72
+ console.log(chalk_1.default.gray(" follow setup instructions below"));
73
+ console.log();
74
+ }
75
+ }
76
+ }
77
+ exports.SetupGuide = SetupGuide;
78
+ //# sourceMappingURL=setup-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-guide.js","sourceRoot":"","sources":["../../src/utils/setup-guide.ts"],"names":[],"mappings":"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"}
@@ -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.1",
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",