SYMBOL INDEX (22 symbols across 3 files) FILE: src/logger.ts class Logger (line 11) | class Logger { method constructor (line 14) | constructor(githubUrl: string) { method error (line 18) | error(message: string, ...optionalParams: any[]) { method warn (line 22) | warn(message: string, ...optionalParams: any[]) { method info (line 26) | info(message: string, ...optionalParams: any[]) { method showIntro (line 30) | showIntro(name: string, version: string) { method showOutro (line 40) | showOutro(name: string) { FILE: src/main.ts function handleNewProject (line 33) | async function handleNewProject(name: string): Promise { function setupNewProject (line 45) | async function setupNewProject(name: string): Promise { function createProject (line 52) | async function createProject(name: string): Promise { function installDeps (line 68) | async function installDeps(name: string): Promise { function downloadTemplate (line 85) | async function downloadTemplate(dir: string, templateUrl: string): Promi... function parseName (line 106) | async function parseName(name: string): Promise { function getZipBuffer (line 120) | async function getZipBuffer(url: string) { function execCmd (line 124) | async function execCmd(command: string): Promise { function dirExists (line 128) | function dirExists(name: string): Promise { function getProjectDir (line 132) | function getProjectDir(name: string): string { function isValidName (line 136) | function isValidName(name: string): boolean { function askName (line 140) | function askName(name: string): Promise { FILE: src/spinner.ts class Spinner (line 3) | class Spinner { method start (line 6) | start(text: string) { method stop (line 10) | stop(text?: string) {