support base path

This commit is contained in:
William Welling
2022-05-05 16:13:25 -05:00
parent 37ebe259f3
commit 9a433b50ff
18 changed files with 111 additions and 38 deletions

36
scripts/base-href.ts Normal file
View File

@@ -0,0 +1,36 @@
import * as fs 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 (!fs.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;
fs.writeFileSync(angularJsonPath, JSON.stringify(angularJson, null, 2) + '\n');
} catch (e) {
console.error(e);
}