UNPKG

silvie

Version:

Typescript Back-end Framework

42 lines (41 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _log = _interopRequireDefault(require("../../../../../utils/log")); var _changeCase = require("change-case"); var _pluralize = _interopRequireDefault(require("pluralize")); var _path = _interopRequireDefault(require("path")); var _fs = _interopRequireDefault(require("fs")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const template = _fs.default.readFileSync(_path.default.resolve(__dirname, 'template'), { encoding: 'utf8' }); var _default = args => { const name = args._[2]; if (name) { const filename = (0, _changeCase.snakeCase)(name); const resolversDir = _path.default.resolve(process.rootPath, 'src/graphql/resolvers'); if (!_fs.default.existsSync(resolversDir)) { _fs.default.mkdirSync(resolversDir, { recursive: true }); } const filepath = _path.default.resolve(resolversDir, `${filename}.ts`); if (!_fs.default.existsSync(filepath)) { const className = (0, _changeCase.pascalCase)(name); const fileName = (0, _changeCase.snakeCase)((0, _pluralize.default)(name, 1)); const singularName = (0, _changeCase.camelCase)((0, _pluralize.default)(name, 1)); const pluralName = (0, _changeCase.camelCase)((0, _pluralize.default)(name)); const content = template.replace(/FILE_NAME/g, fileName).replace(/CLASS_NAME/g, className).replace(/SINGULAR_NAME/g, singularName).replace(/PLURAL_NAME/g, pluralName); _fs.default.writeFileSync(filepath, content); _log.default.success('Resolver Created', `'${filename}' created successfully.`); } else { _log.default.error('Resolver Exists', `There is already a resolver named '${filename}'`); } } else { _log.default.error('No Name', 'You have to specify resolver name'); } }; exports.default = _default;