The following documentation is for SuiteCRM Version 8+; to see documentation for Version 7, click here.
The following guide explains how to migrate extensions created in a version prior to SuiteCRM 8.8. So they can work on SuiteCRM 8.8+.
In SuiteCRM 8.8 angular version has been updated to v18. This brought some changes to the SuiteCRM setup.
⚠️ Important: SuiteCRM is still using Webpack and Module Federation. We will not be using esbuild and Native Federation for the time being.
Frontend common lib has been moved into core
core/app/common
is now inside core/app/core/src/lib/common/
.
The angular.json file is now generated
angular.json
is now a generated file and is no longer under version control.
The angular.json file is not part of the base package, it should not be committed.
Using the yarn merge-angular-json
it is generated from base-angular.json
and any extensions' angular.json
.
The base-angular.json
is now under core/angular/base-angular.json
.
Each extension should have its' own angular.json
file.
Zone.js has been disabled
zone.js
has been disabled (using provideExperimentalZonelessChangeDetection)
Extension’s webpack.config.js updated
⚠️ Important: If using extensions please ensure to update extension configuration.
Update webpack.config.js
. (You can use the webpack.config.js
on defaultExt
as reference).
Old yarn build:common removed
yarn run build:common
is no longer needed.
New yarn build added
yarn build
can be run to build in production.
yarn build-dev
can be run to build in development.
New yarn merge-angular-json added
New command yarn merge-angular-json
added to merge all angular jsons from any extensions and core and merge them into the generated angular.json
.
New build:extension added
yarn build:extension <extensions name>
to build an extension. e.g yarn build:extension defaultExt
.
Replaces yarn build:<extension>
, e.g. yarn build:defaultExt
.
yarn build-dev:extension <extensions name>
to build in development
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.