Package Builder Script
Packaging Building
This section explains how the script processes solution.json to generate two package configuration files:
be-openimis.json: Contains backend (be-packages) packages.fe-openimis.json: Contains frontend (fe-packages) packages.
Each package is transformed to meet specific naming conventions and structure requirements based on its type.
Backend Package Rules (be-openimis.json)
General Format:
Backend packages are listed under thepipkey. Depending on thetype, they are transformed as follows:Type:
pip{ "name": "menu", "pip": "openimis-be-menu==v1.8.0" }
Type: github
{
"name": "core",
"pip": "git+https://github.com/openimis/openimis-be-core_py.git@develop#egg=openimis-be-core"
}Naming Rules:
For
pippackages, the fullopenimis-be-<module_name>pattern is retained.For
githubpackages, theopenimis-be-prefix and_pysuffix are removed, leaving only<module_name>inname.
Frontend Package Rules (fe-openimis.json)
General Format:
Frontend packages are listed under thenpmkey. Depending on thetype, they are transformed as follows:Type:
npm{ "name": "CoreModule", "npm": "@openimis/fe-core@>=v1.7.1" }
Type: github
{
"name": "GrievanceSocialProtectionModule",
"npm": "@openimis/fe-grievance_social_protection@https://github.com/openimis/openimis-fe-grievance_social_protection_js#develop"
}Naming Rules:
The
namekey is converted to PascalCase with theModulesuffix (e.g.,GrievanceSocialProtectionModule).For
npmpackages,_jssuffixes are removed.For
githubpackages, URLs follow the patternopenimis/openimis-<module_name>_js.
Generated Files
be-openimis.json
{
"packages": [
{
"name": "menu",
"pip": "openimis-be-menu==v1.8.0"
},
{
"name": "core",
"pip": "git+https://github.com/openimis/openimis-be-core_py.git@develop#egg=openimis-be-core"
}
]
}fe-openimis.json
{
"packages": [
{
"name": "CoreModule",
"npm": "@openimis/fe-core@>=v1.7.1"
},
{
"name": "GrievanceSocialProtectionModule",
"npm": "@openimis/fe-grievance_social_protection@https://github.com/openimis/openimis-fe-grievance_social_protection_js#develop"
}
]
}Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/