UNPKG

breeze-sequelize

Version:
34 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const breeze_client_1 = require("breeze-client"); const adapter_model_library_backing_store_1 = require("breeze-client/adapter-model-library-backing-store"); const fs_1 = require("fs"); const path_1 = require("path"); const sequelize_1 = require("sequelize"); const ModelMapper_1 = require("./ModelMapper"); // Generates Breeze metadata from Sequelize models const args = process.argv.slice(2); if (args.length < 2) { console.log("Usage: " + process.argv[0] + " " + process.argv[1] + " [modeldir] [namespace] [metadata.json]\n" + "Generates Breeze metadata from Sequelize models in [modeldir], putting entities in [namespace]\n" + "writes file [metadata.json] in the current directory."); process.exit(1); } const modeldir = path_1.resolve(args[0]); const namespace = args[1]; const outfile = args.length > 2 ? args[2] : "metadata.json"; if (!fs_1.existsSync(modeldir)) { console.log("Directory '" + modeldir + "' does not exist."); process.exit(2); } // dialect is required but meaningless when we are just loading the models const sq = new sequelize_1.Sequelize({ dialect: 'mysql' }); ModelMapper_1.ModelMapper.loadSequelizeModels(sq, modeldir); adapter_model_library_backing_store_1.ModelLibraryBackingStoreAdapter.register(breeze_client_1.breeze.config); const metadataStore = new breeze_client_1.EntityManager().metadataStore; const mm = new ModelMapper_1.ModelMapper(metadataStore); mm.addModels(sq, namespace); const metadata = metadataStore.exportMetadata(); fs_1.writeFileSync(outfile, metadata); console.log("Wrote " + outfile); //# sourceMappingURL=metagen.js.map