Skip to main content

UiExtensionCompilerOptions

UiExtensionCompilerOptions

Options to configure how the Admin UI should be compiled.

Signature
interface UiExtensionCompilerOptions {
outputPath: string;
extensions: Extension[];
ngCompilerPath?: string | undefined;
devMode?: boolean;
baseHref?: string;
watchPort?: number;
command?: 'yarn' | 'npm';
additionalProcessArguments?: UiExtensionCompilerProcessArgument[];
}

outputPath

property
string

The directory into which the sources for the extended Admin UI will be copied.

extensions

property
Extension[]

An array of objects which configure Angular modules and/or translations with which to extend the Admin UI.

ngCompilerPath

property
v2.1.0
string | undefined

Allows you to manually specify the path to the Angular CLI compiler script. This can be useful in scenarios where for some reason the built-in start/build scripts are unable to locate the ng command.

This option should not usually be required.

Example

compileUiExtensions({
ngCompilerPath: path.join(__dirname, '../../node_modules/@angular/cli/bin/ng.js'),
outputPath: path.join(__dirname, '../admin-ui'),
extensions: [
// ...
],
})

devMode

property
boolean
default:
false

Set to true in order to compile the Admin UI in development mode (using the Angular CLI ng serve command). When in dev mode, any changes to UI extension files will be watched and trigger a rebuild of the Admin UI with live reloading.

baseHref

property
string
default:
'/admin/'

Allows the baseHref of the compiled Admin UI app to be set. This determines the prefix of the app, for example with the default value of '/admin/', the Admin UI app will be configured to be served from http://<host>/admin/.

Note: if you are using this in conjunction with the AdminUiPlugin then you should also set the route option to match this value.

Example

AdminUiPlugin.init({
route: 'my-route',
port: 5001,
app: compileUiExtensions({
baseHref: '/my-route/',
outputPath: path.join(__dirname, './custom-admin-ui'),
extensions: [],
devMode: true,
}),
}),

watchPort

property
number
default:
4200 | undefined

In watch mode, allows the port of the dev server to be specified. Defaults to the Angular CLI default of 4200.

command

property
v1.5.0
'yarn' | 'npm'

Internally, the Angular CLI will be invoked as an npm script. By default, the compiler will use Yarn to run the script if it is detected, otherwise it will use npm. This setting allows you to explicitly set which command to use, rather than relying on the default behavior.

additionalProcessArguments

property
v1.5.0
default:
undefined

Additional command-line arguments which will get passed to the ng build command (or ng serve if devMode = true).

Example

['--disable-host-check'] // to disable host check