@dbml/cli
Version:
See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information
36 lines (35 loc) • 1.87 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = importHandler;
var _core = require("@dbml/core");
var _figures = _interopRequireDefault(require("figures"));
var _chalk = _interopRequireDefault(require("chalk"));
var _path = _interopRequireDefault(require("path"));
var _config = _interopRequireDefault(require("./config"));
var _utils = require("./utils");
var _validatePlugins = require("./validatePlugins/validatePlugins");
var _outputConsolePlugin = _interopRequireDefault(require("./outputPlugins/outputConsolePlugin"));
var _outputFilePlugin = _interopRequireDefault(require("./outputPlugins/outputFilePlugin"));
var _logger = _interopRequireDefault(require("../helpers/logger"));
var _errors = require("../errors");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function importHandler(program) {
try {
const inputPaths = (0, _utils.resolvePaths)(program.args);
(0, _utils.validateInputFilePaths)(inputPaths, _validatePlugins.validateFilePlugin);
const opts = program.opts();
const format = (0, _utils.getFormatOpt)(opts);
if (!opts.outFile && !opts.outDir) {
(0, _utils.generate)(inputPaths, sql => _core.importer.import(sql, format), _outputConsolePlugin.default);
} else if (opts.outFile) {
(0, _utils.generate)(inputPaths, sql => _core.importer.import(sql, format), new _outputFilePlugin.default((0, _utils.resolvePaths)(opts.outFile)));
console.log(` ${_chalk.default.green(_figures.default.main.tick)} Generated DBML file from SQL file (${_config.default[format].name}): ${_path.default.basename(opts.outFile)}`);
}
} catch (error) {
_logger.default.error(`\n ${error.diags.map(diag => new _errors.SyntaxError(diag.filepath, diag)).map(({
message
}) => message).join('\n ')}`);
}
}
;