@toptal/davinci-code
Version:
Code generation package for frontend applications
24 lines (23 loc) • 838 B
JavaScript
import { print } from '@toptal/davinci-cli-shared'
import fs from 'fs/promises'
import templates from '../templates.mjs'
export function createStoriesCommand(program) {
return program
.createCommand("stories")
.description('Generate Storybook stories for the component')
.action(async componentDirectory => {
try {
const fileStat = await fs.stat(componentDirectory)
if (!fileStat.isDirectory()) {
throw Error('path is not a directory')
}
} catch (e) {
print.red(`Path ${componentDirectory} is not a valid component directory`)
throw e
}
print.header('Creating new stories file for component at:', componentDirectory)
templates.generate('stories', componentDirectory)
print.success('Done!')
})
.argument('<componentDirectory>', 'Pathname to component directory')
}