/
Package Builder Script

Package Builder Script

Packaging Building

This section explains how the script processes solution.json to generate two package configuration files:

  1. be-openimis.json: Contains backend (be-packages) packages.

  2. 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 the pip key. Depending on the type, 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 pip packages, the full openimis-be-<module_name> pattern is retained.

    • For github packages, the openimis-be- prefix and _py suffix are removed, leaving only <module_name> in name.


Frontend Package Rules (fe-openimis.json)

  • General Format:
    Frontend packages are listed under the npm key. Depending on the type, they are transformed as follows:

    • Type: npm

      { "name": "CoreModule", "npm": "@openimis/fe-core@>=v1.7.1" }

Type: github

  • Naming Rules:

    • The name key is converted to PascalCase with the Module suffix (e.g., GrievanceSocialProtectionModule).

    • For npm packages, _js suffixes are removed.

    • For github packages, URLs follow the pattern openimis/openimis-<module_name>_js.


Generated Files

be-openimis.json

fe-openimis.json

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/