import { existsSync, writeFileSync } from 'fs'; import { join } from 'path'; import { AppConfig } from '../src/config/app-config.interface'; import { buildAppConfig } from '../src/config/config.server'; /** * Script to set baseHref as `ui.nameSpace` for development mode. Adds `baseHref` to angular.json build options. * * Usage (see package.json): * * yarn base-href */ const appConfig: AppConfig = buildAppConfig(); const angularJsonPath = join(process.cwd(), 'angular.json'); if (!existsSync(angularJsonPath)) { console.error(`Error:\n${angularJsonPath} does not exist\n`); process.exit(1); } try { const angularJson = require(angularJsonPath); const baseHref = `${appConfig.ui.nameSpace}${appConfig.ui.nameSpace.endsWith('/') ? '' : '/'}`; console.log(`Setting baseHref to ${baseHref} in angular.json`); angularJson.projects['dspace-angular'].architect.build.options.baseHref = baseHref; writeFileSync(angularJsonPath, JSON.stringify(angularJson, null, 2) + '\n'); } catch (e) { console.error(e); }