readme template
This commit is contained in:
parent
8880a72560
commit
be004c5e02
@ -44,6 +44,8 @@ async function modify_json (
|
||||
const file_path = path.join (process.cwd (), json_path);
|
||||
const content = JSON.parse (await fs.readFile (file_path, 'utf-8'));
|
||||
const new_obj = await func (content);
|
||||
if (typeof new_obj === 'undefined' || new_obj === null)
|
||||
return;
|
||||
await fs.writeFile (file_path, JSON.stringify (new_obj, null, 2));
|
||||
}
|
||||
|
||||
|
33
lib/snippets/readme/Assets.ts
Normal file
33
lib/snippets/readme/Assets.ts
Normal file
@ -0,0 +1,33 @@
|
||||
/* eslint-disable max-len */
|
||||
export function get_readme (
|
||||
software: string,
|
||||
description: string,
|
||||
dev: boolean,
|
||||
license: string,
|
||||
author: string
|
||||
): string {
|
||||
return `# ${software}
|
||||
|
||||
[![Package quality](https://packagequality.com/shield/${software}.svg)](https://packagequality.com/#?package=${software})
|
||||
|
||||
> ${description}
|
||||
|
||||
## Installation
|
||||
|
||||
npm:
|
||||
|
||||
> npm i --save${dev ? '-dev' : ''} ${software}
|
||||
|
||||
yarn:
|
||||
|
||||
> yarn add ${dev ? '--dev' : ''} ${software}
|
||||
|
||||
## Usage
|
||||
|
||||
TODO: Add usage
|
||||
|
||||
## License
|
||||
|
||||
${license} © ${author}
|
||||
`;
|
||||
}
|
33
lib/snippets/readme/index.ts
Normal file
33
lib/snippets/readme/index.ts
Normal file
@ -0,0 +1,33 @@
|
||||
import { Snippet } from '../../Snippet';
|
||||
import { modify_json, apply_template } from '../../Helper';
|
||||
import { get_readme } from './Assets';
|
||||
|
||||
export default class Readme implements Snippet {
|
||||
public async start (): Promise<void> {
|
||||
const dev = await new Confirm ({
|
||||
message: 'is the package used as dev dependency?',
|
||||
default: false
|
||||
})
|
||||
.run ();
|
||||
const package_data = {
|
||||
software: '',
|
||||
description: '',
|
||||
license: '',
|
||||
author: ''
|
||||
};
|
||||
await modify_json ((json) => {
|
||||
package_data.software = json.name;
|
||||
package_data.description = json.description;
|
||||
package_data.license = json.license;
|
||||
package_data.author = json.author;
|
||||
});
|
||||
const readme = get_readme (
|
||||
package_data.software,
|
||||
package_data.description,
|
||||
dev,
|
||||
package_data.license,
|
||||
package_data.author
|
||||
);
|
||||
await apply_template (readme, 'README.md');
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user