UNPKG

@sap/cds

Version:

SAP Cloud Application Programming Model - CDS for Node.js

30 lines (26 loc) 995 B
#!/usr/bin/env node /* eslint-disable no-console */ const cds = require('../lib'); const argv = process.argv.slice(2); const o = {}; cds.cli = { command: 'deploy', argv, options: o } Promise.resolve(cds.plugins).then(async () => { let db = cds.requires.db || {} for (let i = 0; i < argv.length; ++i) { let k = argv[i], v = argv[++i] if (!k.startsWith('--')) return error `Invalid argument: ${k}. Expected format --key value` if (v?.startsWith('--')) { --i; v = true } // allow --key without value o[k = k.slice(2)] = v ?? true // allow last --key without value if (k === 'to') db = { kind: v, dialect: v } else (db.credentials ??= {})[k] = v } console.debug('Deploying with options:', db, o) cds.db = await cds.connect.to(db) return await cds.deploy('*',o).to(db) }) .catch (e => { console.error(e); process.exitCode = 1 }) .finally (() => cds.db?.disconnect?.()) const error = (...args) => { console.error (String.raw(...args)) process.exitCode = 1 }