Type Alias: ImaConfig
ImaConfig =
object
Defined in: types.ts:144
Ima config options. Some of these options can be overridden using Args, which takes precedence. These are parsed from optional ima.config.js that can be defined in the root of the IMA.js project.
Properties
compress
compress:
boolean
Defined in: types.ts:278
Enable brotli and gzip compression for production assets [default=true].
cssBrowsersTarget
cssBrowsersTarget:
string
Defined in: types.ts:196
Browserslist configuration string for postcss-preset-env.
devServer?
optionaldevServer:object
Defined in: types.ts:212
HMR dev server settings.
hostname?
optionalhostname:string
origin?
optionalorigin:string
Optional custom ima app origin (defaults to http://localhost:[environment.$Server.port]) this is used for CORS configuration.
port?
optionalport:number
publicUrl?
optionalpublicUrl:string
writeToDiskFilter()?
optionalwriteToDiskFilter: (filePath) =>boolean
Custom filtr for files which should be always written to disk, even if we're serving static files from memory. This is used for example to always save runner.js to disk, since it's used on server-side too.
Parameters
filePath
string
Returns
boolean
disableLegacyBuild?
optionaldisableLegacyBuild:boolean
Defined in: types.ts:298
Disables build of 'client' legacy bundle.
experiments?
optionalexperiments:object
Defined in: types.ts:315
Experimental configurations which can be enabled individually on specific applications. Some of these may find a way to default configuration in future versions of IMA.js.
css?
optionalcss:boolean
imageInlineSizeLimit
imageInlineSizeLimit:
number
Defined in: types.ts:283
Threshold to inline image resources as base64 automatically [default=8192]
jsxRuntime?
optionaljsxRuntime:"classic"|"automatic"
Defined in: types.ts:273
Set custom jsxRuntime, the default is 'automatic'.
languages
languages:
Record<string,string[]>
Defined in: types.ts:293
Supported languages with glob paths of the files with translations
plugins?
optionalplugins:ImaCliPlugin[]
Defined in: types.ts:202
Optional IMA cli plugins that can be used to easily extend webpack config and cli with additional features.
postcss()
postcss: (
config,ctx) =>Promise<Record<string,unknown>>
Defined in: types.ts:176
Function which receives postcss-loader config and current context, this can be used to customize existing default postcss config or completely replace it with a custom one.
Parameters
config
Record<string, unknown>
ctx
Returns
Promise<Record<string, unknown>>
publicPath
publicPath:
string
Defined in: types.ts:207
Webpack assets public path [default='']
sourceMaps?
optionalsourceMaps:boolean|"eval"|"eval-cheap-source-map"|"eval-cheap-module-source-map"|"eval-source-map"|"cheap-source-map"|"cheap-module-source-map"|"source-map"|"inline-cheap-source-map"|"inline-cheap-module-source-map"|"inline-source-map"|"eval-nosources-cheap-source-map"|"eval-nosources-cheap-module-source-map"|"eval-nosources-source-map"|"inline-nosources-cheap-source-map"|"inline-nosources-cheap-module-source-map"|"inline-nosources-source-map"|"nosources-cheap-source-map"|"nosources-cheap-module-source-map"|"nosources-source-map"|"hidden-nosources-cheap-source-map"|"hidden-nosources-cheap-module-source-map"|"hidden-nosources-source-map"|"hidden-cheap-source-map"|"hidden-cheap-module-source-map"|"hidden-source-map"
Defined in: types.ts:242
Set to true (or any preset from https://webpack.js.org/configuration/devtool/#devtool) to enable source maps for production build. (dev/watch tasks always generate source maps to work properly with error overlay).
swc()
swc: (
config,ctx) =>Promise<Record<string,unknown>>
Defined in: types.ts:158
Function which receives default app swc-loader config and current context, this can be used for additional customization or returning completely different config.
Parameters
config
Record<string, unknown>
ctx
Returns
Promise<Record<string, unknown>>
swcVendor()
swcVendor: (
config,ctx) =>Promise<Record<string,unknown>>
Defined in: types.ts:167
Function which receives default vendor swc-loader config and current context, this can be used for additional customization of vendor processed files.
Parameters
config
Record<string, unknown>
ctx
Returns
Promise<Record<string, unknown>>
transformVendorPaths?
optionaltransformVendorPaths:object
Defined in: types.ts:306
Advanced functionality allowing you to include/exclude custom vendor paths that go through swc loader (configured using swcVendor function). Use this if you're using dependencies that don't meet the lowest supported ES version target (ES9 by default). all packages in
exclude?
optionalexclude:RegExp[]
include?
optionalinclude:RegExp[]
Ima
namespace are included by default.
watchOptions
watchOptions:
Watching["watchOptions"]
Defined in: types.ts:235
Custom options passed to webpack watch api interface. For more information see: https://webpack.js.org/configuration/watch/#watchoptions
webpack()?
optionalwebpack: (config,ctx,imaConfig) =>Promise<Configuration>
Defined in: types.ts:148
Webpack callback function can be used to completely customize default webpack config before it's run.
Parameters
config
Configuration
ctx
imaConfig
ImaConfig
Returns
Promise<Configuration>
webpackAliases?
optionalwebpackAliases:ResolveOptions["alias"]
Defined in: types.ts:288
Optional custom webpack aliases
Methods
prepareConfigurations()?
optionalprepareConfigurations(configurations,imaConfig,args):Promise<ImaConfigurationContext[]>
Defined in: types.ts:187
Called right before creating webpack configurations after preProcess call. This hook lets you customize configuration contexts for each webpack config that will be generated. This is usefull when you need to overrite configuration contexts for values that are not editable anywhere else (like output folders).
Parameters
configurations
imaConfig
ImaConfig
args
Returns
Promise<ImaConfigurationContext[]>