readme-author 0.1.2
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 +11 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +95 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/package-parser.d.ts +8 -0
- package/dist/core/package-parser.d.ts.map +1 -0
- package/dist/core/package-parser.js +17 -0
- package/dist/core/package-parser.js.map +1 -0
- package/dist/core/stack-detector.d.ts +2 -0
- package/dist/core/stack-detector.d.ts.map +1 -0
- package/dist/core/stack-detector.js +9 -0
- package/dist/core/stack-detector.js.map +1 -0
- package/dist/generator/markdown-generator.d.ts +3 -0
- package/dist/generator/markdown-generator.d.ts.map +1 -0
- package/dist/generator/markdown-generator.js +28 -0
- package/dist/generator/markdown-generator.js.map +1 -0
- package/package.json +47 -0
package/README.md
ADDED
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const readline = require("readline");
|
|
7
|
+
const chalk_1 = require("chalk");
|
|
8
|
+
const ora_1 = require("ora");
|
|
9
|
+
const commander_1 = require("commander");
|
|
10
|
+
const stack_detector_1 = require("./core/stack-detector");
|
|
11
|
+
const package_parser_1 = require("./core/package-parser");
|
|
12
|
+
const markdown_generator_1 = require("./generator/markdown-generator");
|
|
13
|
+
const nodeFiglet = require("figlet");
|
|
14
|
+
const gradient_string_1 = require("gradient-string");
|
|
15
|
+
const program = new commander_1.Command();
|
|
16
|
+
function sleep(ms) {
|
|
17
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
18
|
+
}
|
|
19
|
+
program
|
|
20
|
+
.name("readme-author")
|
|
21
|
+
.description("Auto generate README.md from project")
|
|
22
|
+
.version("1.0.0");
|
|
23
|
+
console.log(gradient_string_1.default.rainbow(nodeFiglet.textSync("README AUTHOR", {
|
|
24
|
+
horizontalLayout: "default",
|
|
25
|
+
})));
|
|
26
|
+
function askOverwrite(filePath) {
|
|
27
|
+
return new Promise((resolve) => {
|
|
28
|
+
const rl = readline.createInterface({
|
|
29
|
+
input: process.stdin,
|
|
30
|
+
output: process.stdout,
|
|
31
|
+
});
|
|
32
|
+
rl.question(`A README.md already exists at "${filePath}". Overwrite? (y/n) `, (answer) => {
|
|
33
|
+
rl.close();
|
|
34
|
+
const normalized = answer.trim().toLowerCase();
|
|
35
|
+
resolve(normalized === "y" || normalized === "yes");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
program
|
|
40
|
+
.argument("[projectPath]", "Path to project directory", ".")
|
|
41
|
+
.action(async (projectPathArg) => {
|
|
42
|
+
const projectPath = path.resolve(process.cwd(), projectPathArg);
|
|
43
|
+
let spinner = null;
|
|
44
|
+
try {
|
|
45
|
+
spinner = (0, ora_1.default)(chalk_1.default.cyan("Analyzing project...")).start();
|
|
46
|
+
await sleep(500);
|
|
47
|
+
if (!(0, stack_detector_1.detectNodeProject)(projectPath)) {
|
|
48
|
+
spinner.fail(chalk_1.default.yellow("No supported project detected in the provided directory."));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
spinner.succeed(chalk_1.default.green("Project detected."));
|
|
52
|
+
spinner = (0, ora_1.default)(chalk_1.default.cyan("Reading package.json...")).start();
|
|
53
|
+
await sleep(500);
|
|
54
|
+
const pkg = (0, package_parser_1.parsePackageJson)(projectPath);
|
|
55
|
+
spinner.succeed(chalk_1.default.green("package.json read successfully."));
|
|
56
|
+
spinner = (0, ora_1.default)(chalk_1.default.cyan("Generating README content...")).start();
|
|
57
|
+
await sleep(500);
|
|
58
|
+
const markdown = (0, markdown_generator_1.generateReadmeMarkdown)(pkg);
|
|
59
|
+
spinner.succeed(chalk_1.default.green("README content generated."));
|
|
60
|
+
const readmePath = path.join(projectPath, "README.md");
|
|
61
|
+
const creatingNew = !fs.existsSync(readmePath);
|
|
62
|
+
if (!creatingNew) {
|
|
63
|
+
if (spinner)
|
|
64
|
+
spinner.stop();
|
|
65
|
+
const shouldOverwrite = await askOverwrite(readmePath);
|
|
66
|
+
if (!shouldOverwrite) {
|
|
67
|
+
console.log(chalk_1.default.yellow("Aborted. Existing README.md was not overwritten."));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
spinner = (0, ora_1.default)(chalk_1.default.cyan("Updating existing README.md...")).start();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
spinner = (0, ora_1.default)(chalk_1.default.cyan("Creating README.md...")).start();
|
|
74
|
+
}
|
|
75
|
+
await sleep(500);
|
|
76
|
+
fs.writeFileSync(readmePath, markdown, "utf8");
|
|
77
|
+
spinner.succeed(chalk_1.default.green(creatingNew
|
|
78
|
+
? "README.md created successfully!"
|
|
79
|
+
: "README.md updated successfully!"));
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
if (spinner) {
|
|
83
|
+
spinner.fail(chalk_1.default.red("Failed to generate README.md."));
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.error(chalk_1.default.red("Failed to generate README.md."));
|
|
87
|
+
}
|
|
88
|
+
if (error instanceof Error) {
|
|
89
|
+
console.error(chalk_1.default.red(error.message));
|
|
90
|
+
}
|
|
91
|
+
process.exitCode = 1;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
program.parse(process.argv);
|
|
95
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type PackageJson = {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
scripts: Record<string, string>;
|
|
5
|
+
dependencies: Record<string, string>;
|
|
6
|
+
};
|
|
7
|
+
export declare function parsePackageJson(projectPath: string): PackageJson;
|
|
8
|
+
//# sourceMappingURL=package-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-parser.d.ts","sourceRoot":"","sources":["../../src/core/package-parser.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAUjE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePackageJson = parsePackageJson;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function parsePackageJson(projectPath) {
|
|
7
|
+
const packageJsonPath = path.join(projectPath, "package.json");
|
|
8
|
+
const packageJson = fs.readFileSync(packageJsonPath, "utf8");
|
|
9
|
+
const packageStructure = JSON.parse(packageJson);
|
|
10
|
+
return {
|
|
11
|
+
name: packageStructure.name,
|
|
12
|
+
description: packageStructure.description,
|
|
13
|
+
scripts: packageStructure.scripts,
|
|
14
|
+
dependencies: packageStructure.dependencies,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=package-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-parser.js","sourceRoot":"","sources":["../../src/core/package-parser.ts"],"names":[],"mappings":";;AAUA,4CAUC;AApBD,yBAAyB;AACzB,6BAA6B;AAS7B,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAgB,CAAC;IAChE,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,YAAY,EAAE,gBAAgB,CAAC,YAAY;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-detector.d.ts","sourceRoot":"","sources":["../../src/core/stack-detector.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE9D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectNodeProject = detectNodeProject;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function detectNodeProject(projectPath) {
|
|
7
|
+
return fs.existsSync(path.join(projectPath, "package.json"));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=stack-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-detector.js","sourceRoot":"","sources":["../../src/core/stack-detector.ts"],"names":[],"mappings":";;AAGA,8CAEC;AALD,yBAAyB;AACzB,6BAA6B;AAE7B,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-generator.d.ts","sourceRoot":"","sources":["../../src/generator/markdown-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CA2B/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateReadmeMarkdown = generateReadmeMarkdown;
|
|
4
|
+
function generateReadmeMarkdown(pkg) {
|
|
5
|
+
const lines = [];
|
|
6
|
+
const projectName = pkg.name || "Project Name";
|
|
7
|
+
const description = pkg.description || "";
|
|
8
|
+
lines.push(`# ${projectName}`);
|
|
9
|
+
lines.push("");
|
|
10
|
+
lines.push("## Description");
|
|
11
|
+
lines.push(description);
|
|
12
|
+
lines.push("");
|
|
13
|
+
lines.push("## Installation");
|
|
14
|
+
lines.push("npm install");
|
|
15
|
+
lines.push("");
|
|
16
|
+
lines.push("## Available Scripts");
|
|
17
|
+
const scriptNames = Object.keys(pkg.scripts ?? {});
|
|
18
|
+
if (scriptNames.length === 0) {
|
|
19
|
+
lines.push("- (no npm scripts defined)");
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
for (const name of scriptNames) {
|
|
23
|
+
lines.push(`- npm run ${name}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return lines.join("\n");
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=markdown-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-generator.js","sourceRoot":"","sources":["../../src/generator/markdown-generator.ts"],"names":[],"mappings":";;AAEA,wDA2BC;AA3BD,SAAgB,sBAAsB,CAAC,GAAgB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,IAAI,cAAc,CAAC;IAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAE1C,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "readme-author",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Zero-config CLI tool to auto-generate README.md from your project",
|
|
5
|
+
"main": "dist/cli.js",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"bin": {
|
|
8
|
+
"readme-author": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/tallman1O/readme-author.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"cli",
|
|
22
|
+
"readme",
|
|
23
|
+
"documentation",
|
|
24
|
+
"nodejs",
|
|
25
|
+
"developer-tools"
|
|
26
|
+
],
|
|
27
|
+
"author": "Mehul Uttam",
|
|
28
|
+
"license": "ISC",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"chalk": "^5.6.2",
|
|
34
|
+
"commander": "^14.0.3",
|
|
35
|
+
"figlet": "^1.10.0",
|
|
36
|
+
"fs-extra": "^11.3.3",
|
|
37
|
+
"gradient-string": "^3.0.0",
|
|
38
|
+
"ora": "^9.3.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/figlet": "^1.7.0",
|
|
42
|
+
"@types/gradient-string": "^1.1.6",
|
|
43
|
+
"@types/node": "^25.3.0",
|
|
44
|
+
"ts-node": "^10.9.2",
|
|
45
|
+
"typescript": "^5.9.3"
|
|
46
|
+
}
|
|
47
|
+
}
|