/** * Get a description for the given generator. If this is an external generator, * read the description from its package.json. */ function getGeneratorDescription(generator: YeomanEnvironment.GeneratorMeta, generatorName: string): GeneratorDescription { let name = getDisplayName(generatorName); let description = 'no description'; if (templateDescriptions.hasOwnProperty(name)) { description = templateDescriptions[name]; } else if (generator.resolved && generator.resolved !== 'unknown') { try { let metapath = findup.sync(generator.resolved, 'package.json'); let meta = JSON.parse(fs.readFileSync(metapath, 'utf8')); description = meta.description; } catch (err) { if (err.message === 'not found') { logger.debug('no package.json found for generator'); } else { logger.debug('problem reading/parsing package.json for generator', { generator: generatorName, err: err.message, }); } } } return { name: `${name}: ${chalk.dim(description)}`, value: generatorName, // inquirer is broken and doesn't print descriptions :( // keeping this so things work when it does short: name, }; }
function getGulpfile(): any { // TODO: Should we really be searching procses.cwd()? What about config.root? let foundGulpfileDir = findup.sync(process.cwd(), 'gulpfile.js'); if (foundGulpfileDir) { let gulpfulePath = path.join(foundGulpfileDir, 'gulpfile.js'); logger.debug('found gulpfile', { path: gulpfulePath }); return require(gulpfulePath); } logger.debug(`no gulpfile found (searched up from ${process.cwd()})`); return null; }