@sap/cds-mtxs
Version:
SAP Cloud Application Programming Model - Multitenancy library
31 lines (23 loc) • 1.18 kB
JavaScript
const cds = require('@sap/cds')
const LOG = cds.log('mtx')
const [major] = cds.version.split('.').map(Number)
if (major < 9) throw new Error('@sap/cds-mtxs 3 requires @sap/cds version 9 or higher. Current version: ' + cds.version)
const cdscDefaults = Object.fromEntries(
Object.entries(cds.env.defaults?.cdsc || {}).filter(([key]) => !key.startsWith('[') )
)
require('./srv/extensibility/linter').legacyCheck()
const main = require('./srv/config')
if (main.env.cdsc && cds.env.requires['cds.xt.ModelProviderService']?._in_sidecar === true) {
if (cds.env.cdsc && !(cds.env.requires['cds.xt.ModelProviderService']?.['use-local-cdsc-config'] === true)) {
// should not be used in MTX
delete cds.env.cdsc.tenantDiscriminator
delete main.env.cdsc.tenantDiscriminator
const stringifiedEnv = JSON.stringify(cds.env.cdsc)
if (stringifiedEnv !== JSON.stringify(main.env.cdsc) && stringifiedEnv !== JSON.stringify(cdscDefaults)) {
LOG.warn('inconsistent compiler configuration: using cds.cdsc configuration of root project')
}
cds.env.cdsc = main.env.cdsc
}
} else {
cds.env.cdsc = main.env.cdsc
}