UNPKG

abstract-migrate

Version:
101 lines (70 loc) 2.81 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _path = require('path'); var _path2 = _interopRequireDefault(_path); var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk); var _mkdirp = require('mkdirp'); var _mkdirp2 = _interopRequireDefault(_mkdirp); var _config = require('../config'); var _config2 = _interopRequireDefault(_config); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TEMPLATE = '\nexports.up = function(cb) {\n cb();\n};\n\nexports.down = function(cb) {\n cb();\n};\n'; exports.default = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(name) { var sanitizedName, migrationName, migrationFile; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: console.log(_chalk2.default.gray('Creating new migration')); // Ensure the directory exists _context.next = 3; return new _promise2.default(function (resolve, reject) { (0, _mkdirp2.default)(_config2.default.migrationPath, function (err) { if (err) { reject(err); return; } resolve(); }); }); case 3: sanitizedName = name.replace(/[\W_]+/g, '-'); migrationName = Date.now() + '-' + sanitizedName + '.js'; migrationFile = _path2.default.join(_config2.default.migrationPath, migrationName); // Write the file _context.next = 8; return new _promise2.default(function (resolve, reject) { _fs2.default.writeFile(migrationFile, TEMPLATE, function (err) { if (err) { reject(err); return; } resolve(); }); }); case 8: console.log('Created new migration ' + _chalk2.default.blue(migrationName)); case 9: case 'end': return _context.stop(); } } }, _callee, this); })); function createCommand(_x) { return _ref.apply(this, arguments); } return createCommand; }();