UNPKG

@sap/cds-dk

Version:

Command line client and development toolkit for the SAP Cloud Application Programming Model

39 lines (31 loc) 1.3 kB
// // Child process impl launched by cds watch // Extracted from watch.js to avoid cds.env loaded too eagerly // (async()=>{ // run through cli in order to use its error handling const args = JSON.parse(process.env._args) const cds = require('../cds'); cds.watched = true const bootstrap = require('../../bin/cds')(...args) cds.once('listening', ({server}) => { process.send ({ code:'listening', port: server.address().port }) }) try { await bootstrap if (!cds.service.providers.length) return _no_services_found() } catch (e) { switch (e.code) { case 'NO_SERVICES_FOUND': return _no_services_found(e) case 'MODEL_NOT_FOUND': return _no_models_found(e) case 'EADDRINUSE': return process.send(e) //> tell cds watch default: if (e.messages?.length) return cds._log(e.messages, { 'log-level': cds.env.log.levels.cli }) // REVISIT: no special handling for compiler messages else console.error('\n❗️ ERROR on server start: ❗️\n\n', e) }} function _no_models_found(e) { console.log (` No models found in ${cds.resolve(e.model||'*',false)}. Waiting for some to arrive... `)} function _no_services_found() { console.log (` No service definitions found in loaded models. Waiting for some to arrive... `)} })()