added interactive generation
parent
1c16cd8617
commit
2d0708493f
|
@ -2,6 +2,7 @@ const path = require('path');
|
|||
const fs = require('fs');
|
||||
const linter = require('./linter');
|
||||
const prompt = require('./prompt');
|
||||
const { toNamespacedPath } = require('path');
|
||||
|
||||
function defaultTemplatePath() {
|
||||
return path.join(__dirname, '..', 'templates', 'default.json');
|
||||
|
@ -16,7 +17,9 @@ function doInteractiveGeneration(args) {
|
|||
{ question: 'Service name', name: 'name', validator: linter.regex.NAME_REGEX, error: "Name must only contain lowercase letters, numbers or '-_'!" },
|
||||
{ question: 'Service description', name: 'description', validator: linter.regex.DESCRIPTION_REGEX, error: "Description must be a descriptive sentence starting with a uppercase letter and ending with a '.'!" },
|
||||
{ question: 'Template', name: 'template', default: defaultTemplatePath},
|
||||
{ question: 'Output', name: 'output', default: results => defaultOutputPath(results.name) }
|
||||
{ question: 'Output', name: 'output', default: results => defaultOutputPath(results.name) },
|
||||
{ question: 'Namespace', name: 'namespace' },
|
||||
{ question: 'Base URL', name: 'base_url'}
|
||||
], results => {
|
||||
generateTemplate(results);
|
||||
});
|
||||
|
@ -29,7 +32,9 @@ function doSilentGeneration(args) {
|
|||
config.name = args.name;
|
||||
config.description = args.description;
|
||||
config.output = args.output || defaultOutputPath(args.name)
|
||||
|
||||
config.namespace = args.namespace || undefined
|
||||
config.base_url = args.base_url || undefined
|
||||
|
||||
generateTemplate(config);
|
||||
}
|
||||
|
||||
|
@ -39,6 +44,8 @@ function generateTemplate(config) {
|
|||
|
||||
template.name = config.name
|
||||
template.description = config.description
|
||||
template.namespace = config.namespace
|
||||
template.base_url = config.base_url
|
||||
|
||||
let messages = linter.lint(template);
|
||||
if(messages.length) {
|
||||
|
|
Loading…
Reference in New Issue