UNPKG

checki

Version:

Checki is an AI-driven CLI tool that generates Jest unit tests for React components, improving testing efficiency.

58 lines (50 loc) 1.98 kB
import Command from './../common/command' const fs = require('fs').promises, path = require('path'); const node_process = process; export default class JsDoc extends Command { async init() { //@todo read this values from a theme.json file this.setColorTokens({ '*':'yellow', '#':'cyan', '@':'green' }); //console.log('this.arg',this.arg); //const file = path.join(process.cwd(), this.arg.data) //set defaults //output directory //if (!this.arg.path) this.arg.path = process.cwd(); // current path //this.arg.path = path.join(process.cwd(), this.arg.output) //this.log(`Processing *${this.arg.data}* as source`); //this.spinner = this.x_console.spinner({ color:'yellow' }); return true; } async validate(data:any[]):Promise<boolean> { const self = this; // ** VALIDATIONS ** // optional args: openai,path key //read given JSON file, validate format //self.finish(12); return true; } async process() { // $ checki jsdoc const self = this; // ** PROCESS ** const spinner = this.x_console.spinner({ color:'yellow' }); spinner.start('Analyzing current folder ...'); // read current path // check there is a checki.config.json file // if not, run init cmd first // if yes, continue // ask openAI API key to user if not defined as env variable or within existing checki.config.json // read project structure // read all jsx, or tsx files // classify which are components // read each component file and generate test stories for each one // add them as jsdoc comment array on top of each component within @checki key spinner.succeed('Prepared for generating tests'); //ready this.log(`checki initialized`,'green'); } }