src/lib/commands/init/installer-logger.js
import chalk from 'chalk';
import BaseLogger from '../../utils/base-logger';
import { Installer } from '../../core';
/**
* Installer Logger
*/
export default class InstallerLogger extends BaseLogger {
/**
* Log next notification
* @param {Object} notification notification to log
* @param {string} notification.type operation type
* @param {Object} notification.payload operation payload
*/
next({ type, payload }) {
switch (type) {
case Installer.operations.WRITE_USER_GENERETOR_CONFIG_SUCCESS:
console.log(`${chalk.green('UPDATED')} package.json`);
break;
case Installer.operations
.CREATE_CUSTOM_SEEDER_TEMPLATE_FILE_SKIP_FILE_EXISTS:
console.log(
`${chalk.yellow('SKIP')} ${
payload.customSeederTemplateFilename
} are already exists`
);
break;
case Installer.operations.CREATE_CUSTOM_SEEDER_TEMPLATE_FILE_SUCCESS:
console.log(
`${chalk.green('CREATED')} ${payload.customSeederTemplateFilename}`
);
break;
case Installer.operations.CREATE_SEEDERS_FOLDER_SKIP_FOLDER_EXISTS:
console.log(
`${chalk.yellow('SKIP')} ${payload.foldername} are already exists`
);
break;
case Installer.operations.CREATE_SEEDERS_FOLDER_SUCCESS:
console.log(`${chalk.green('CREATED')} ${payload.foldername}`);
break;
case Installer.operations.WRITE_USER_CONFIG_SKIP_FILE_EXISTS:
console.log(
`${chalk.yellow('SKIP')} ${payload.filename} are already exists`
);
break;
case Installer.operations.WRITE_USER_CONFIG_SUCCESS:
console.log(`${chalk.green('CREATED')} ${payload.filename}`);
break;
}
}
/**
* Log error
* @param {Object} error error to log
* @param {string} error.type error type
* @param {Object} error.payload error payload
*/
error({ type, payload }) {
switch (type) {
case Installer.operations.WRITE_USER_GENERETOR_CONFIG_ERROR:
console.log(
`${chalk.red('ERROR')} Unable to write config file: ${chalk.gray(
payload.filepath
)}`
);
break;
case Installer.operations.CREATE_CUSTOM_SEEDER_TEMPLATE_FILE_ERROR:
console.log(
`${chalk.red(
'ERROR'
)} Unable to create custom seeder template: ${chalk.gray(
payload.customSeederTemplatePath
)}`
);
break;
case Installer.operations.CREATE_SEEDERS_FOLDER_ERROR:
console.log(
`${chalk.red('ERROR')} Unable to create seeders folder: ${chalk.gray(
payload.folderpath
)}`
);
break;
case Installer.operations.WRITE_USER_CONFIG_ERROR:
console.log(
`${chalk.red('ERROR')} Unable to write user config file: ${chalk.gray(
payload.filepath
)}`
);
break;
}
if (payload && payload.error) console.error(payload.error);
}
}