silvie
Version:
Typescript Back-end Framework
42 lines (41 loc) • 1.91 kB
JavaScript
;
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;