@fersonull/create-npm 1.0.2 → 1.1.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
@@ -11,5 +11,5 @@ A production-ready scaffolding tool for setting up NPM projects.
11
11
  npm create @fersonull/npm@latest <project-name>
12
12
 
13
13
  # Alternative: Using npx directly
14
- npx @fersonull/create-npm@latest <project-name>
14
+ npx create-npm <project-name>
15
15
  ```
package/dist/cli.js CHANGED
@@ -11,12 +11,10 @@ const path_1 = __importDefault(require("path"));
11
11
  async function main() {
12
12
  credit();
13
13
  const args = process.argv.slice(2);
14
- const projectName = args[0];
14
+ let projectName = args[0];
15
15
  const isWindows = process.platform === "win32";
16
16
  if (!projectName) {
17
- utils_1.log.error("Please provide a package name as an argument.");
18
- utils_1.log.info("Usage: npx create-npm <project-name>");
19
- process.exit(1);
17
+ projectName = await (0, utils_1.promptArgs)("Enter project name");
20
18
  }
21
19
  if (!/^[a-zA-Z0-9-_]+$/.test(projectName)) {
22
20
  utils_1.log.error("Invalid project name. Use only alphanumeric characters, dashes, and underscores.");
@@ -125,10 +123,10 @@ async function main() {
125
123
  utils_1.log.error("Dependency installation failed. You can manually install it later.");
126
124
  }
127
125
  else {
128
- utils_1.log.success("\nDependencies installed successfully.");
126
+ utils_1.log.success("Dependencies installed successfully.");
129
127
  }
130
128
  }
131
- utils_1.log.success(`\nProject created at ${projectPath}`);
129
+ utils_1.log.info(`Project created at ${projectPath}`);
132
130
  console.log("\nNext steps:");
133
131
  console.log(` cd ${projectName}`);
134
132
  console.log(" npm run dev\n");
package/dist/utils.d.ts CHANGED
@@ -4,3 +4,4 @@ export declare const log: {
4
4
  info: (message: string) => void;
5
5
  };
6
6
  export declare const promptConfirm: (question: string) => Promise<boolean>;
7
+ export declare const promptArgs: (question: string) => Promise<string>;
package/dist/utils.js CHANGED
@@ -33,17 +33,17 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.promptConfirm = exports.log = void 0;
36
+ exports.promptArgs = exports.promptConfirm = exports.log = void 0;
37
37
  const readline = __importStar(require("readline"));
38
38
  exports.log = {
39
39
  error: (message) => {
40
- console.log("\x1b[31m%s\x1b[0m", `Error: ${message}`);
40
+ console.log("\x1b[31m%s\x1b[0m", `\nError: ${message}`);
41
41
  },
42
42
  success: (message) => {
43
- console.log("\x1b[32m%s\x1b[0m", message);
43
+ console.log("\x1b[32m%s\x1b[0m", `\n${message}`);
44
44
  },
45
45
  info: (message) => {
46
- console.log("\x1b[36m%s\x1b[0m", message);
46
+ console.log("\x1b[36m%s\x1b[0m", `\n${message}`);
47
47
  },
48
48
  };
49
49
  const promptConfirm = (question) => {
@@ -69,3 +69,25 @@ const promptConfirm = (question) => {
69
69
  });
70
70
  };
71
71
  exports.promptConfirm = promptConfirm;
72
+ const promptArgs = (question) => {
73
+ const rl = readline.createInterface({
74
+ input: process.stdin,
75
+ output: process.stdout,
76
+ });
77
+ return new Promise((resolve) => {
78
+ const ask = () => {
79
+ rl.question(`${question} → `, (answer) => {
80
+ if (answer.trim().length > 0) {
81
+ rl.close();
82
+ resolve(answer);
83
+ }
84
+ else {
85
+ rl.close();
86
+ resolve("too-lazy-to-name");
87
+ }
88
+ });
89
+ };
90
+ ask();
91
+ });
92
+ };
93
+ exports.promptArgs = promptArgs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fersonull/create-npm",
3
- "version": "1.0.2",
3
+ "version": "1.1.1",
4
4
  "description": "Automated project scaffolding tool",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {