mainWindow.setTitle(`${_.capitalize(Config.name)} - REPL(${windowCount})`); windowCount += 1;
console.log(chalk.green(`${_.capitalize(target)} is already up to date!`)); } catch (e) {
/** * Capitalizes a string. */ Handlebars.registerHelper('capitalize', (str) => { return _.capitalize(str); });
const generateModel = (fileName, config) => { var modelItems = ''; for (var i = 0; i < config.length; i++) { modelItems += config[i].type === 'date' ? `\t${config[i].props.name}: Date,\n` : `\t${config[i].props.name}: String,\n` } const result = `const mongoose = require('mongoose');\n\n` + `const ${_.capitalize(fileName)}Schema = new mongoose.Schema({\n` + modelItems + `});\n` + `\nexport default mongoose.model('${_.capitalize(fileName)}', ${_.capitalize(fileName)}Schema);` return result; }
fetch(url) .then(function (response) { return response.json(); }) .then(function (json) { console.log(json); return { city: json.name, temperature: convertCelcius(json.main.temp), description: _.capitalize(json.weather[0].description) } }) .catch(function (error) { console.log('There has been a problem with your fetch operation: ' + error.message); // ADD THIS THROW error throw error; })
const generateBackEndFiles = (fileName, config) => { // Generate a Model const apiFolder = path.resolve(`./packages/CB-serverless-backend/api/${fileName}`); const modelFile = path.resolve(`./packages/CB-serverless-backend/models/${_.capitalize(fileName)}.js`); if (!fs.existsSync(apiFolder)) { fs.mkdirSync(apiFolder); } fs.writeFileSync(modelFile, generateModel(fileName, config)); // Create a folder under API. Create getFormData and postFormData const apiIndexFile = path.resolve(`./packages/CB-serverless-backend/api/${fileName}/index.js`); fs.writeFileSync(apiIndexFile, generateApi(fileName, config)); // Handlers import and export const handlerFile = path.resolve(`./packages/CB-serverless-backend/handler.js`); insertNewHandlers(handlerFile, fileName); // Serverless.yaml const serverlessYaml = path.resolve(`./packages/CB-serverless-backend/serverless.yml`); editYmlFile(serverlessYaml, fileName) }
/** * Generates an "operationId" attribute based on path and method names. * * @private * @param {String} method_name HTTP method name. * @param {String} path_name Path name. * @return {String} */ const generateOperationId = (method_name, path_name) => { if (path_name === '/') return method_name; // clean url path for requests ending with '/' let clean_path = path_name; if (clean_path.indexOf('/', clean_path.length - 1) !== -1) { clean_path = clean_path.substring(0, clean_path.length - 1); } let segments = clean_path.split('/').slice(1); segments = _.transform(segments, (result, segment) => { if (segment[0] === '{' && segment[segment.length - 1] === '}') { segment = `by-${_.capitalize(segment.substring(1, segment.length - 1))}}`; } result.push(segment); }); return _.camelCase(`${method_name.toLowerCase()}-${segments.join('-')}`); }
Object.keys(mutations).forEach(type => { if (_.isFunction(mutations[type])) { let mutationDefinition; let mutationName = `${type}${_.capitalize(name)}`;
const editYmlFile = (handlerFile, fileName) => { const appendedYml = ( `\n create:` + `\n handler: handler.create${_.capitalize(fileName)}` + `\n events:` + `\n - http:` + `\n path: ${fileName}` + `\n method: post` + `\n cors: true\n` + `\n get:` + `\n handler: handler.getAll${_.capitalize(fileName)}` + `\n events:` + `\n - http:` + `\n path: ${fileName}` + `\n method: get` + `\n cors: true` ); fs.appendFileSync(handlerFile, appendedYml); }
if(err) throw err; const importFileContent = `import { getAll${_.capitalize(fileName)}, create${_.capitalize(fileName)} } from './api/${fileName}';`; const insertContent = `\tgetAll${_.capitalize(fileName)},\n` + `\tcreate${_.capitalize(fileName)},`
if(err) throw err; const importFileContent = `import ${_.capitalize(fileName)} from './Forms/${fileName}';\n`; var array = [importFileContent, ...data.toString().split("\n")]; const insertContent = ` <Route path="/${fileName}" component={${_.capitalize(fileName)}} />\n`;
function rootIndexContent(fileName) { return ( `import React from 'react';\n` + `import FormComponent from './${fileName}';\n\n` + `import config from '../../config';\n` + `import { API } from 'aws-amplify';\n\n` + `const ${_.capitalize(fileName)} = () => {\n` + `const handleSubmit = async (values) => {\n` + ` API.post('todo', '/${fileName}', {\n` + ` body: values,\n` + ` })\n` + `};\n` + '\treturn (\n' + '\t\t<FormComponent\n' + '\t\t\tonSubmit={handleSubmit}\n' + '\t\t/>\n' + '\t);\n' + '}\n' + `export default ${_.capitalize(fileName)};` ); }
`import React, { Component } from 'react'\n` + imports + `\nclass ${_.capitalize(fileName)} extends Component {\n\n` + `\tcomponentDidMount() {\n` + `\t}\n\n` + `export default reduxForm({` + `\n\tform: '${fileName}'` + `\n})(${_.capitalize(fileName)})`